1樓:匿名使用者
我覺得你條件寫反了,你試試在if後面的條件前面加一個取非運算:~(if的條件)。
為什麼在matlab中我想執行一個多項選擇的語句:用if;elseif 之後 只執行到第一個額雷鋒呢?
2樓:書宬
clear;clc
t=;h=;
for a=0:50:7000
if a<=200
s=0;
elseif a<=700&a>200 % 要這
樣寫s=6*a;
elseif a<=1200&a>700 % 要這樣寫
s=5000;
elseif a<=1500&a>1200 % 要這樣寫
s=16.7*a;
elseif a<=5100&a>1500 % 要這樣寫
s=10000;
elseif a<=6900&a>5100 % 要這樣寫
s=10000-5.6*a;
else
s=0;
endt=[t;a];
h=[h;s];
end[t h]
plot(t,h)
3樓:劉賀
乾脆別用迴圈了:
clear all;clc;
t=;h=;
a=0:50:7000;
s=0*(a<=200)+6*a.*(a>200&a<=700)+5000*(a>700&a<=1200)+...
16.7*a.*(a>1200&a<=1500)+10000*(a>1500&a<=5100)+...
(10000-5.6*a).*(a>5100&a<=6900)+0*(a>6900);
t=[t a];
h=[h s];
plot(t,h);
matlab中else if語句只執行了第二句,程式沒問題,邏輯上**有錯誤?
跪求 matlab中if語句中的elseif語句結束如何返回if後命令繼續執行
4樓:匿名使用者
如果是下列結構:
for i=1:n1 %第一個for迴圈
執行語句1
for j=1:n2 %第二個for迴圈
執行語句2
if (條件)
執行語句3
continue
end執行語句4
end執行語句5
end當if條件滿足並執行continue語句後,「執行語句4」不執行,跳轉到第二個for迴圈,即i自動加1,再繼續執行。
matlab if語句執行不了
5樓:匿名使用者
同學,1種連著的不等號在多數程式語言中都是不允許的。
以1向右運算的,1
這裡應該拆開寫: