Re: [問題] 多輸入陣列填值的迴圈已回收

看板MATLAB作者 (alen)時間16年前 (2009/05/20 15:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《ghostfarmer ()》之銘言: : 想要寫一個多輸入矩陣填值的迴圈但是一直試不出來可以請大家幫我看看嗎 : 想用一個A列4行的陣列S來儲存數值,要輸入A組(B,C,D),最後顯示出完整陣列S : S=[] : A=input('列數:'); %B,C,D輸入次數 : for n=1:4 : for m=1:A : B=input('請輸入:'); : C=input('請輸入:'); : D=input('請輸入:'); : S(n,1)=B*C : S(n,2)=C : S(n,3)=D : S(n,4)=B*sin(acos(C)) : end : end : disp(S) : 這樣只能做出4列4行的陣列且執行出來是一個一個填入,每填完B,C,D就列出三次陣列 : (依序填入)我想做成能A列4行的陣列,並且在全部填完後再列出完整陣列即可 : 請問這樣要如何修改,對程式還不太有概念希望能有人幫忙謝謝 你可以試看看以下的程式是不是你要的結果 clc; clear; A=input('請輸入欲輸入之列數:'); %B,C,D輸入次數 for m=1:A input_right_signal = 0; while input_right_signal ==0 data_temp= input('請依序輸入B,C,D (ex: [1,2,3]):'); if (length(data_temp) ~=3); fprintf('輸入的元素不對,請重新輸入'); else input_right_signal = 1; end end S(m,1)=data_temp(1,1)*data_temp(1,2); S(m,2)=data_temp(1,2); S(m,3)=data_temp(1,2); S(m,4)=data_temp(1,1)*sin(acos(data_temp(1,2))); end fprintf('輸入的結果為\n'); disp(S) :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.20.166
文章代碼(AID): #1A4xMiTh (MATLAB)
文章代碼(AID): #1A4xMiTh (MATLAB)