1樓:付先武
%for迴圈結束之後,a,n只有乙個值,所以畫出來是乙個點;
%可以不用for迴圈,以加快執行速度,像你這種的for迴圈,如果要是大的話,
%可以使用matlabpool open 2開啟matlab池,然後for改為parfor;
i=1:40;
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua.^2)/21.15;%注意這兒(ua.^2)加了乙個點!
a=((l+k)*0.2806)/4;
n=(ua*4)/(0.2806*0.377);
plot(n,a);
%結果的圖如下:
2樓:隨墨楓飛
你的程式基本都是正確的,就是for迴圈結束之後,你的a,n,只有乙個值,所以就畫不出你要的那條直線,而只是最後的那乙個點;
你只要把a,n改正向量的表示形式就好了!
for i=1:40
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua^2)/21.15;
a(i)=((l+k)*0.2806)/4;
n(i)=(ua*4)/(0.2806*0.377);
endplot(n,a);
3樓:
for i=1:40
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua^2)/21.15;
a=((l+k)*0.2806)/4;
n=(ua*4)/(0.2806*0.377);
end經過這個for迴圈後 n, a會是乙個標量,就是乙個數值,你要顯示曲線的話有兩種方法,
1.for i=1:40
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua^2)/21.15;
a=((l+k)*0.2806)/4;
n=(ua*4)/(0.2806*0.377);
plot(n, a);
hold on;
end2.
n=zeros(1,40);
a=zeros(1,40);
for i=1:40
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua^2)/21.15;
a(i)=((l+k)*0.2806)/4;
n(i)=(ua*4)/(0.2806*0.377);
endplot(n,a);
4樓:流風回雪
for迴圈結束之後,a,n,只有乙個值,所以就畫不出直線,而只是最後的那乙個點。
簡單的修改方法:
將a=((l+k)*0.2806)/4;
n=(ua*4)/(0.2806*0.377);
改為a(i)=((l+k)*0.2806)/4;
n(i)=(ua*4)/(0.2806*0.377);就行了
5樓:匿名使用者
n=zeros(1,40);
a=zeros(1,40);
for i=1:40
ua=3*i+30;
k=1620*9.8*0.0165*(1+(0.01*(ua-50)));
l=(1.6*1.86*0.6*ua^2)/21.15;
a(i)=((l+k)*0.2806)/4;
n(i)=(ua*4)/(0.2806*0.377);
endplot(n,a);
matlab這個分段函式影象怎麼畫
這是一個很典型的問題哈 問題出在這裡 myfun的輸入x你是當做單個數字來處理的,而實際你plot x,myfun x 裡的x是一個陣列,所以在myfun的if判斷裡,只取了第一個元素x 1 做判斷,然後用判斷的結果來計算所有的x i 你要寫成這樣,我寫個簡單點的,你自己照著改x 1 0.1 1 y...
matlab怎麼畫出積分函式的影象??求救
路雪天涯 plot作圖基本的兩種輸入方式 1 plot y 這個y是乙個矩陣,n行m列的話,一共會畫出m條,每條n個點 2 plot x,y x與y是同維矩陣,比如 同是1行n列,或者同是n行1列,都能作圖,只要能找到x與y一一對應的點就行,如果x與y的元素個數不能一一對應 比如不同維 那就做不出來...
用matlab畫這個的影象,怎麼程式設計
用matlab繪製微分方程組數值解x1 t 和x2 t 的圖形。可以按下列方法來解決。1 建立微分方程組自定義函式,ode fun t,x 2 呼叫 ode45 函式命令,求解此微分方程組,得到x1 t x2 t 3 呼叫plot 函式命令,繪製x1 t 和x2 t 的圖形 按此思路程式設計,執行可...