[問題] 拜託幫我一下已回收

看板MATLAB作者 (祐祐)時間15年前 (2010/05/26 20:55), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/2 (看更多)
能勞煩各位看一下嗎?以下是我的程式碼: syms x1 x2 f=@(x1,x2) x1^2+x2^2; y=x1^2+x2^2; y1=diff(y,x1); z1=@(x1,x2) y1; y2=diff(y,x2); z2=@(x1,x2) y2; x1=3;x2=5; x0=[x1,x2]; a=eval(z1(x0)); [t2]=three(x0); b=eval(z1(t2)); fprintf('%d\n',a); fprintf('%d\n',b); 而我的函數的M檔案如下: function [t2]=three(x0) t1=x0; delta=1; t2=t1+delta; ==================================================== 我的問題在於我的x0變為矩陣後代入t(x0),成功的算出a=6 而x0代到函數裡做運算後,回傳t2的值為[4 6] 但是代到t(x0)做運算後,出來的值b卻還是等於6 不是應該會變成8嗎? 請問為什麼矩陣內的值明明有更新,但是運算的時候卻沒有改變 是哪裡的設定有問題嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.72.165

05/26 21:47, , 1F
eval 似乎是多餘的
05/26 21:47, 1F

05/26 22:08, , 2F
symbol 不管有沒有加 eval 出來還是 symbol 吧
05/26 22:08, 2F

05/26 22:25, , 3F
要怎麼假設才能讓我的z1讀進新矩陣的值
05/26 22:25, 3F

05/26 22:27, , 4F
我很好奇,你這個真的能跑嗎 = ="
05/26 22:27, 4F

05/26 22:39, , 5F
前後答案跑出來都是6,但是答案應該要6 8才對
05/26 22:39, 5F

05/26 22:40, , 6F
我也很好奇為什麼不能跑新的矩陣
05/26 22:40, 6F
文章代碼(AID): #1B_HfQwe (MATLAB)
文章代碼(AID): #1B_HfQwe (MATLAB)