matlab裡的是怎麼用的,Matlab中 的用法

2021-04-13 07:26:45 字數 6075 閱讀 3274

1樓:匿名使用者

例子:1、baipunct - function handle creation @;@ 在匿名函式du中表示函式控制代碼。

zhi2、例如ln(x),在matlab中是沒dao有定義的,正確版表示是log(x);但如果要直權觀表示自然對數,意義用以下語句表示:ln=@(x)  log(x);執行後,ln(4)=log(4) , 即用ln 替換 log。

3、poly6 = @(x) 8*x.^6+6*x.^5+3*x.^3+x.^2+x+520;fplot(ploy6,[0,100]);fzero(ploy6,13)。

matlab的基本資料單位是矩陣,它的指令表示式與數學、工程中常用的形式十分相似,故用matlab來解算問題要比用c。

2樓:德密齋軒

啟動matlab,在command輸入命令直接執行,或者編寫m檔案來執行。

可以參考一些比較基礎的matlab書籍,多上機實踐總結。

3樓:匿名使用者

可以參考一下我以前的回答

punct - 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);

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

matlab中@的用法

4樓:

@是用於定義函式控制代碼的操作符。函式控制代碼既是一種變數,可以用於傳參和賦值;也是可以當做函式名一樣使用。

舉例:sin是matlab中的乙個函式,但sin只是函式名,還不是函式控制代碼,不可以用於傳參。

f = @sin;

這行**定義了乙個函式控制代碼,變數名是f。這樣就可以當做引數傳遞了(這就是上面**中的意義所在),而且還可以跟sin函式按相同的語法規則使用:

g = f; % g也是函式控制代碼,其「值」和f一樣,都代表sin函式y = g(pi); %可以得到y=0

5樓:小宇宙

end就是陣列結尾的意思,從a的第乙個元素以3為間隔直到a的結尾。0.8147 、0.9134 和0.2785

6樓:謇桂枝沃雲

^^大致做了一下,希望有所幫助。

function

main()

clc;x=

[233

0.975];%初值

lb=[226

9.9659];%下限

ub=[inf

inf0.9903];%上限

%最優化

[x,feval]

=fmincon(@gearg,x,,

,,,lb,

ub,'gscon')

%目標函式

functionf=

gear(x)f=

9.588*x(1)^3*x(2)^3*x(3)^(-3);

%約束條件

function

[g,q]

=gscon(x)

g(1)

=897641*x(1)^(-3)*x(2)^(-2)*x(3)^2-289;

g(2)

=245555.2*x(1)^(-3)*x(2)^(-2)*x(3)^2

-233;

g(3)

=226953.7*x(1)^(-1.5)*x(2)^(-1.5)*x(3)^(1.5)

-531;

g(4)=16

-0.8*x(2)*x(3)^(-1);

g(5)

=0.8*x(2)*x(3)^(-1)

-35;q=;

matlab中quadgk的具體的使用方法。那個「@」到底是什麼意思?

7樓:美

y=@(x) x^2

相當於設自變數為x

quadgk(y,0,1)

對y求積分,積分區間0

8樓:匿名使用者

@是matlab定義函式的起始符

9樓:匿名使用者

quadgk(@(r) exp(-1i*2*pi*opd*exp(-r^2/(m(2,i))^2)*r/length),0,0.002)

matlab中的@是什麼意思

10樓:匿名使用者

函式控制代碼

匿名函式

這是函式控制代碼的一種高階用法, 這樣產生的函式控制代碼變數不指向特定的函式, 而是乙個函式表示式. 其語法:

變數名=@(輸入引數列表)運算表示式

例如, 前面那個計算變數平方的函式可以簡單地寫為這個匿名函式:

mysqr1=@(x)x.*x

之後, 執行mysqr1(變數名), 即可計算該變數的平方, 注意, mysqr1屬性是函式控制代碼變數, 而不是這個表示式; 還有要注意這個表示式不需要用單引號括起來

11樓:匿名使用者

這是計算精度的問題,不信你輸入 det(inv(a))-1/det(a)便知兩者其實並不完全相等(雖然理論上相等),所以一般判斷兩數相等是以其差小於某個閾值來判斷的

12樓:曉潔潔哥

你好,matlab裡 \ 是左除,/ 是右除。 如果是數字計算,則左除和右除是等效的,例如 3/2 = 2\3。 而對於矩陣運算,則二者不等效。

矩陣除法在 matlab 裡定義為矩陣求逆後相乘。例如 a的逆矩陣是 a1,則 b/a = b*a1,a\b = a1*b。矩陣乘法不滿足交換律,因此需要有左右除法之分。

矩陣求逆的命令是 inv ,即 a1 = inv(a)。

13樓:匿名使用者

a=[ ]的意思是a為空矩陣。一般用於矩陣 a 初始化(清零)。

14樓:

令a為空矩陣,大部分函式輸出顯示時會直接忽略掉空矩陣,這樣可以做到刪除矩陣的目的,也可以用來刪除矩陣中的某一行或一列

matlab中@是什麼意思

15樓:晚夏落飛霜

@是匿名函式的意思。

匿名函式就像傳統程式語言中的內聯函式,在單個matlab語句中定義。 它由單個matlab表示式和任意數量的輸入和輸出引數組成。

可以在matlab命令列或函式或指令碼中定義乙個匿名函式。這樣就可以建立簡單的函式,而無需為它們建立乙個檔案。

從表示式建立匿名函式的語法是:f = @(arglist)expression

定義式:f = @(x1, x2, ...) exper

@後面的括號裡面是自變數,然後跟乙個空格(沒有空格也行),然後跟著關於x1, x2, ...的表示式。

示例:編寫乙個名為power的匿名函式,它將使用兩個數字作為輸入,並將第乙個數字返回到第二個數字的冪值。

建立指令碼檔案並在其中鍵入以下**:

power = @(x, n) x.^n;

result1 = power(7, 3)

result2 = power(49, 0.5)

result3 = power(10, -10)

result4 = power (4.5, 1.5)

當執行該檔案,得到以下結果:

result1 =  343

result2 =  7

result3 =  1.0000e-10

result4 =  9.5459

16樓:熱詞課代表

12指愛人,親人,戀人都可以為「12畫」,同時12也指月滿,象徵著家庭團團圓圓,生活愛情幸福美滿

17樓:匿名使用者

@是匿名函式的意思。

f = @(x)cos(x)+2*sin(x);

@(x)表示以x為變數,cos(x)+2*sin(x)為函式體在別的函式中可以呼叫控制代碼f

比如,fplot(f,[-5,5]);

就是呼叫fplot函式來畫匿名函式f在[-5,5]的圖形。

18樓:天雲一號

"=="是條件運算中的等於運算子,用來判斷「==」左右兩邊的表示式或數值是否相等。若相等,則返回1,;否則,返回0。

在matlab中,"=="與c語言中的等於運算子"=="類似。

舉例說明如下:

a = [1,2,3,3,2,3,2];  % 定義乙個向量a

maxindex = a==max(a); % 確定向量a中最大值所在位置

% max(a)表示取a的最大值,a==max(a)表示向量a中每個元素與max(a)的值進行比較,如果相等,則向量maxindex對應位置1;否則,置0。

% 執行以上程式後,向量maxindex=[0,0,1,1,0,1,0]

19樓:匿名使用者

fullfile函式作用是利用檔案各部分資訊建立並合成完整檔名。

20樓:匿名使用者

通常取模運算(mod)也叫取餘運算(rem),它們返回結果都是餘數。

但rem和mod唯一的區別在於:

當x和y的正負號一樣的時候,兩個函式結果是等同的;當x和y的符號不同時,rem函式結果的符號和x的一樣,而mod和y一樣。

21樓:匿名使用者

x=[2200,1500,600,200,300,700];

[s,r]=max(x);

explore=zeros(1,length(x));

explore(r)=1;

pie3(x,explore);

title('月開支');

legend('住房還貸','飲食費用','文教費','醫藥費用(平均)','交通費','儲蓄')

邁特萊博

22樓:匿名使用者

figure是建立圖形的意思,系統自動從1,2,3,4...來建立圖形,數字代表第幾幅圖形,figure(1),figure(2)就是第一第二副圖的意思,在建立圖形的時候,您注意一下它的標題就是figure1或figure2等等,對應到程式中就是您的例子語句

一般建立新圖只需要乙個figure就行,系統自動建立新圖,可以簡單一點,當然要加上也可以

另外介紹你乙個相關的畫圖的:多子圖,就是一張圖中有好多小圖,也是有標號的

使用以下命令

subplot(m,n,k)

subplot('position',[left bottom width height])

m表示畫幾行

n表示畫幾列

k表示現在畫的是第幾幅圖

23樓:匿名使用者

a=[ ]的意思是a為空矩陣。一般用於矩陣 a 初始化(清零)。

24樓:匿名使用者

例如x=[1 3

2 2]

x(:)表示將矩陣中的資料以一列輸出,即1232;

x(:,:)第乙個冒號表示輸出行,第二個冒號表示輸出列x(:,2)

結果為:32

x(1,:)

結果為1 3

25樓:匿名使用者

:表示遍歷所有,放在行上就是遍歷所有行,放在列上就是遍歷所有列,所以這個式子表達的就是取出所有的a元素,也就是取出a矩陣。

26樓:匿名使用者

表示 f 為函式控制代碼,@是定義控制代碼的運算子。f=@(x)acos(x) 相當於建立了乙個函式檔案:

% f.m

function y=f(x)

y=acos(x);

函式控制代碼的使用方法也和函式是一樣的。

MATLAB示波器波形如何分析,怎麼用matlab對示波器波形進行傅利葉分析

a 使用示波器儲存 1.首先新增乙個clock時間控制項,輸出時間t到乙個示波器裡。修改該示波器引數,進入到data history,刪除limit data,勾選save data to workspace,變數名t,格式array。2.仿照上面示波器引數設定,修改你所要顯示的示波器。設變數名為x...

matlab裡求矩陣的梯度用什麼語句

使用gradient語句即可實現求梯度功能。具體語法如下 fx,fy gradient f 其中fx表示橫向的梯度 相對於原矩陣f而言 fy表示縱向的梯度。示例如下 matlab裡求矩陣的梯度使用的語句,如下 matlab環境下 gradx 1 1 grady 1 1 conx zeros row,...

matlab中的simulink怎麼用

在工具欄點幾個有紅色的按鈕的東西,就進入simulink了 再找些教程啥的,輸入輸入就行了 matlab中simulink開關怎麼設定 10 1 首先我們選擇滑鼠單擊開啟matlab工作介面。2 選擇下面顯示的simulink按鈕以開啟simulink工作環境。3 simulink裝置庫可以包含圖中...