1樓:匿名使用者
其實你的程式已經滿足你的要求了,事實上,執行後workspace空間上反映的是最後一個回x3,也就答是x3迴圈到最後一個數值(100)後的x3值,當然他就是100了,如果你想要得到的是中間運算中的所有值,而非最終結果,那麼請看下面的程式:
a1 = 8.001;
z3 = 10;
k=0;
x3 = -100:100 ;
for x31=x3(1):1:x3(end)k=k+1;
if x31>=-8 &x31<=8
th1(k)=pi+atan(z3./(x31-a1));
else
th1(k) = atan(z3./(x31-a1));
endth2(k) = atan(z3./(x31+a1));end
2樓:化學工程
這個抄比循bai
環的效du
率高多zhi了dao
。clc;clear
a1 = 8.001;
z3 = 10;
x3 = -100:100
th=-sign(x3).*(x3>=-8&x3<=0).*(pi+atan(z3.
/(x3-a1)))+sign(x3).*(x3>0&x3<8).*(pi+atan(z3.
/(x3-a1))) +atan(z3./(x3-a1));
plot(x3,th)
3樓:祕弘徭盼芙
這個比迴圈的效率高多了專。屬
clc;cleara1=
8.001;z3=
10;x3
=-100:100
th=-sign(x3).*(x3>=-8&x3<=0).*(pi+atan(z3.
/(x3-a1)))+sign(x3).*(x3>0&x3<8).*(pi+atan(z3.
/(x3-a1)))
+atan(z3./(x3-a1));
plot(x3,th)
4樓:野澹壬孤蘭
第一label(i:1)裡面copy的i:1是什麼意思?
如果是bai第i行,第一列要寫成dulabel(i,1);
第二迴圈能夠zhi執行,不是隻執行了一次,肯dao定是執行完了只是你的fprintf('i:%g
j:%g
tp:%g
fp:%g
fn:%g\n',i,j,tp,fp,fn)語句在判斷條件裡面
所以只有符合條件label(i:1)==1&predct(i:1)==-1才會顯示
而你label(i:1)是返回label的第i個到第1個數只有當i=1時,能都返回一個數label(1)當i>2時,label(i:1)就會返回空矩陣所以只會有i=1時候的結果輸出
matlab中for迴圈為什麼只執行了一次
5樓:匿名使用者
把第二行的k=size(h0);換成k=length(h0);
因為size返回陣列[1,120],在後面的for裡變成了for i=1:1.
為什麼for 迴圈只執行的一次?
6樓:涉世小小白
arr.length長度為1
7樓:育知同創教育
for(var i = 0;i可以嘗試一下,寫成
for(var i = 0;i<5;i++)
看下結果就知道了,然後去找原因。
8樓:匿名使用者
你的 arr.length 是多少
為什麼我的for迴圈沒起作用,只執行了一次?(用c語言正常執行)
9樓:匿名使用者
for(i=1;i<=6;i++) {r=1+rand()%33;
cout<<"red is:"<環後
copy面加花括號。他執行了多次 你只輸出了一次。
10樓:董雪聞人彤
for(i=1;i<=6;i++)
迴圈後面加花括號。他執行了多次
你只輸出了一次。
簡單c語言的dowhile 迴圈,但為什麼只能迴圈一次,求解釋,謝謝
你這個do,while沒有一點作用,只要sign不等於 y 就不會做do裡面的工作,首先要明確你的sign是幹什麼的,sign getchar 後面再加個getchar 應該就可以了,第一次輸入y然後回車,getchar 只接收了一個 y 剩下的換行符在第二次迴圈的時候就賦給sign了 while ...
為什麼vc中巢狀for迴圈只執行了一次
因為你兩層迴圈都是用的i作為迴圈變數,當外層迴圈第一次執行時,內部迴圈已將i自增到8,導致外層迴圈的迴圈條件 i 3 不成立,於是外層迴圈只進行了一次就結束了。我知道在for迴圈中加入continue是結束本次迴圈,進入下次迴圈,而break是跳出for迴圈,但在vc6中卻不是這 我看了你的問題,發...
為什麼老是無限迴圈啊
不用輸出這麼多 吧。include using namespace std int main int i,j,k 0 cout for i 1 iif j i 0 k k i if k j cout cout 不是無限迴圈。for i 1 i 這裡的cout真是要命了,光這個cout就要做1000 ...