matlab程式設計時諸如y cos x 1x 2 1 中為什麼加那個點

2021-04-23 17:15:23 字數 3119 閱讀 9505

1樓:二中混過

如果bai自變數是一組du

向量,要加點,要是就一個zhi

數不用加dao。

點乘、點除是對

迴向量進行運答算的

x=-1:0.1:1;

>> y=1/x

error using /

matrix dimensions must agree.

>> y=1./x

y =columns 1 through 5

-1.0000 -1.1111 -1.2500 -1.4286 -1.6667

columns 6 through 10

-2.0000 -2.5000 -3.3333 -5.0000 -10.0000

columns 11 through 15

inf 10.0000 5.0000 3.3333 2.5000

columns 16 through 20

2.0000 1.6667 1.4286 1.2500 1.1111

column 21

1.0000

>> x1=1;

>> y=1/x1

y =1

>>

2樓:匿名使用者

這就是一種固定的格式

在matlab中用遺傳演算法求解y=20+x1.^2+x2.^2-10*(cos(3*pi*x1)+cos(pi*x2))在x1,x2,均在0到10上的最小值

3樓:匿名使用者

用matlab的ga()遺傳演算法函式,求得其函式的最小值。實現方法:

一、求函式的最小專值屬

>>ga_fun=@(x)20+x(1).^2+x(2).^2-10*(cos(3*pi*x(1))+cos(pi*x(2)));  %自定義函式

>>[x,fval,exitflag] = ga(ga_fun,2,,,,,[0,0],[10,10])

x =    1.3303    1.9602    %x1=1.3303,x2=1.9602

fval =    5.6942   %最小值exitflag =     1   %最優解

用matlab編寫程式:1.計算y=x^3+(x-0.98)^2/(x+1.35)^3-5(x+1/x)當x=2和x=4時的值。

4樓:匿名使用者

這些都是matlab基本語句,建議你看看相關書籍,謝謝!

5樓:匿名使用者

這麼簡單的東西,你有時間碼這麼多字,為什麼不花點時間去看看書,一般基本教程看完前三章就都會了

matlab中為什麼這條語句: y=1./(1+25*x.^2) 中必須要加點(即英文狀態下的句號)?

6樓:匿名使用者

首先x是一個陣列,x=[-1 -0.99 -0.98 ....1]由語句x=-1:0.01:1產生。對陣列做除法或者平方是沒有意義的,因為

內matlab支援矩陣運算,所以不是容預設對陣列做平方運算是對所有元素作平方運算。若想對陣列每一個元素作平方運算,那麼應該用x.^2,運算子,同時.

/(兩個字元是一個運算子)指的是對陣列每一個元素進行運算,同時將每一次運算結果返回。當然不是覆蓋而是也存進一個陣列。其實y=1.

/(1+25*x.^2) 這句話也可以用迴圈做。類似於for i=1:

size(x) y(i)=1/(1+25*x(i)^2);

end總而言之要想對一個陣列所有元素進行運算需要用./和.*之類的運算子,而不是/或者*,因為這意思矩陣運算子,會產生歧義。不明白可追問。

7樓:匿名使用者

首先區分matlab中兩種bai乘法(除法du),對於標量來說一zhi

般不dao加點如x=5,x/5=1.而對於矢內量加點表示容對於其中每一個的元素都進行乘法(除法)而不是向量運算,如x=[1,,2],x./5=[0.2,0.4].

matlab中語句f=@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)中@(x,y)是什麼意思?

8樓:59分粑粑

matlab中語句f=@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)中@(x,y)的意思如下:

其中的@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)為匿名函式,第一個括號裡面是自變數,第二個括號

裡面是表示式,@是函式指標。

f=@(x,y)exp(-x.^2/3).*sin(x.

^2+2*y)表示將匿名函式@(x,y)exp(-x.^2/3).*sin(x.

^2+2*y)賦值給f,於是f就表示該函式。

9樓:匿名使用者

這是個函式控制代碼 @(x,y) 表示未知數是x和ypunct - function handle creation @

@ 在匿名函式中表示函式控制代碼

例如ln(x),在matlab中是沒有定義的,正確表示是log(x);

但如果要直觀表示自然對數,意義用以下語句表示:

ln=@(x) log(x);

執行後,ln(4)=log(4) , 即用ln 替換 log。

以上表示可能無法看出『@』的好處,再看下例:

poly6 = @(x) 8*x.^6+6*x.^5+3*x.^3+x.^2+x+520;

fplot(ploy6,[0,100]);

fzero(ploy6,13);

在這種長且多次呼叫的情況下,用函式控制代碼就可以方便很多。

10樓:匿名使用者

^f=@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)

其中@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)為匿名函式,第一個括號裡

面是自變數,第二個括號裡面是表示式,@是函式指標f=@(x,y)exp(-x.^2/3).*sin(x.

^2+2*y)表示將匿名函式@(x,y)exp(-x.^2/3).*sin(x.

^2+2*y)賦值給f,於是f就表示該函式。

matlab基本程式設計問題急

a input 輸入數字 if a 1 s 9 5 rand 1,10 5 s2 sort s,descend elseif a 2 n input 序列專長度 屬 s3 normrnd 3,9,1,n s4 sort s3,descend end 輸入數字1 s2 8.0966 7.8367 7....

matlab起泡法排序很簡單的程式設計

h 10 rand 1,10 給定 baidu10個數 zhi的dao矩回陣答 for i 1 10 for j 10 1 i 1 if h j 1 h j t h j h j h j 1 h j 1 t endend enddisp h var a for var i 0 i 參考下吧 ahpu?...

有關於MATLAB的程式設計問題,急!謝謝

a 1 1045 997 2 1039 990 3 1031 987 4 1025 982 5 1023 974 6 1018 973 7 1015 970 8 1013 963 9 1012 964 10 1020 969 11 1034 986 12 1041 990 13 1037 984 1...