❶ 問一下大神matlab應該怎麼編程
不需要用循環,直接使用邏輯數組運算更快。
我假設你的x和x(1)--x(n)是不同的變數,那麼我用a來表示你的x,用x數組代表你的x(1)--x(n)
我隨便給這些數賦值
a=10;
x=1:3:30;
k=5;
temp = true(size(x));
temp(k) = false;
y = prod(a - x) / prod(x(k) - x(temp));
a-x是生成數組[a-x(1), a-x(2), ..., a-x(n)],prod()是吧這個數組相乘
temp是一個邏輯數組,和x相同大小,並且只有第k個數是false。x(temp)就是生成[x(1), x(2),..., x(k-1), x(k+1), ..., x(n)]
其他的應該容易理解
補充:拉格朗日插值多項式可也這么寫:
%x0,y0是已知各點坐標,共n點
x0 = [1, 2, 3];
y0 = [1, 8, 27];
n = length(x0);
%x是要求的點
x = 4;
y = 0;
for k = 1:n
temp = true(size(x0));
temp(k) = false;
y = y + y0(k) * prod(x - x0(temp)) / prod(x0(k) - x0(temp));
end
❷ 請問在matlab中怎麼寫這個程序
根據題主提供的某電壓信號函數,t分別取20個點和200個點,那如何來對比這兩個波形,並理解其局限性?
對於這個問題,我們這樣來討論:
一、t分別取20個點時的圖形
1、使用linspace()函數,在t【0,0.04】內劃分20個點,即
t=linspace(0,0.04,20);
2、計算對應的電壓值,即
u=15*sin(314*t+pi/2)+2;
3、使用plot)函數,繪制出u(t)曲線
二、t分別取200個點時的圖形
1、使用linspace()函數,在t【0,0.04】內劃分200個點,即
t=linspace(0,0.04,200);
2、計算對應的電壓值,即
u=15*sin(314*t+pi/2)+2;
3、使用plot)函數,繪制出u(t)曲線
三、使用hold on命令,將取20個點的u(t)曲線和200個點的u(t)曲線,繪制在同一圖窗中
四、使用xlabel()函數和ylabel()函數來標注坐標軸名稱,即
xlabel('t');ylabel('u');
五、使用legend()函數來標注各曲線的名稱
六、匯總上述代碼,運行結果如圖。
七、對比這兩個波形,我們可以看到,取點少的曲線呈顯為鋸齒形,取點多的曲線接近於實際。
❸ matlab怎麼寫函數文件~
1、首先在電腦中打開matlab軟體。
❹ matlab的程序應該怎麼寫
1、matlab是一個功能強大的軟體,不僅僅在數據處理方面很優秀,在界面編程方面同樣優秀,這里簡單介紹下matlab界面編程的基礎步驟。
2、在打開的matlab程序中,點擊new---graphic user interface,打開創建gui向導--我們選擇blank gui,創建空白的gui界面---選擇左側我們需要的控制項,如下圖,我們選擇一個button---將控制項拖入到gui界面的合適的位置,雙擊打開設置屬性的界面---設計好界面後,我們先不要編寫函數內容,先運行界面---他會提醒我們激活界面將保存界面和代碼,我們選擇yes---輸入文件名,點擊保存---我們回到界面編輯界面,點擊button右鍵打開右鍵菜單,點擊view callbacks---callback,來跳轉到該控制項的回調函數---我們在該函數中輸入代碼---這時,我們運行程序,點擊按鈕,即可以在命令窗口中看到button執行的效果。
3、先運行界面,使得matlab給我們創建界面的代碼,然後在view callback。
❺ matlab如何編程
首先,在我們的桌面上找到matlab軟體的圖標,將滑鼠移到該位置雙擊點開,這時電腦屏幕會彈出matlab軟體的主界面。
這只是我的一點個人經驗,還是希望能夠幫助大家的。