close

標題:

Matlab 迴圈程式改以迴圈向量方式進行

發問:

題目 : 撰寫一底稿,利用FOR迴圈計算1^2-2^2+3^2-4^2+....+49^2-50^2的總和。 我用迴圈寫的程式如下 %script8_12.m total1=0 total2=0 for x=[1:50].^2 if mod(x,2)==0 total1=total1+x else total2=total2+x end end and=total1-total2 但要將這程式改用迴圈向量化的方式時就不會了。 有誰能幫我改用迴圈向量化來寫呢 / \ ?

 

此文章來自奇摩知識+如有不便請留言告知

最佳解答:

[解答] total1 = [1:2:50].^2; total2 = [2:2:50].^2; and=sum(total1)-sum(total2) [說明] MATLAB輸入下列指令 >> [1:2:50] ans = Columns 1 through 16 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 Columns 17 through 25 33 35 37 39 41 43 45 47 49 以 下針對向量內每一個元素作平方運算 >> [1:2:50].^2 ans = Columns 1 through 7 1 9 25 49 81 121 169 Columns 8 through 14 225 289 361 441 529 625 729 Columns 15 through 21 841 961 1089 1225 1369 1521 1681 Columns 22 through 25 1849 2025 2209 2401 利用sum加總,加總後的結果即total1 >> sum([1:2:50].^2) ans = 20825

其他解答:428DFA428D9FA6F8

arrow
arrow
    創作者介紹
    創作者 fksnlix 的頭像
    fksnlix

    fksnlix的部落格

    fksnlix 發表在 痞客邦 留言(0) 人氣()