Re: [討論] 如何判別條件 來選擇要帶入的函數

看板MATLAB作者 (郝渴連)時間4年前 (2020/04/30 11:14), 編輯推噓1(100)
留言1則, 1人參與, 4年前最新討論串3/3 (看更多)
已下的文章為原 PO 私訊問我的問題的回答, 回答問題的同時順便賺點 P幣。 ============================================= 若只想求值不畫圖的情況下可以用下列指令: yy = cellfun(@(x, y) x(y), y(b).', num2cell(a)); 若有 c = [10 5 15 5 30 20] 想畫 3D 圖: xx = a; zz = c; figure grid on plot3(xx, yy, zz, 'bo') ※ 引述《mp19990920 (郝渴連)》之銘言: : ※ 引述《liiyihluen (哩共啊!!!)》之銘言: : : a = [23 65 14 32 61 72]; : : b = [1 3 3 4 2 1]; : : % 有a.b兩矩陣 : : y1 = 3*a.^2+25*a-32.2; : : y2 = 2*a.^2-3.1*a-26; : : y3 = 4.06*a.^2-16*a+7; : : y4 = -6.79*a.^2-52*a+30.49; : : % 有4個函數 : : % 把b帶入yb,使yb變成上述的4個函數 : : plot(a, yb, 'o'); : : % 當b等於某數字時,會對應使用某個yb函數,讓a代入,最後在圖上畫出這六個點。 : : 請問各位前輩,我該如何讓matlab判別b矩陣中的數字會對應哪個函數呢? : y = {... : @(a) 3*a.^2 + 25*a - 32.2;... : @(a) 2*a.^2 - 3.1*a - 26;... : @(a) 4.06*a.^2 - 16*a + 7;... : @(a) -6.79*a.^2 - 52*a + 30.49;... : } : a = [23 65 14 32 61 72]; : b = [1 3 3 4 2 1]; : figure : hold on : grid on : for i = 1:length(b) : plot(a(i), y{b(i)}(a(i)), 'o') : end -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.5.252 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1588216474.A.264.html

05/03 20:44, 4年前 , 1F
感謝大大解答,專業推
05/03 20:44, 1F
文章代碼(AID): #1UgaAQ9a (MATLAB)
文章代碼(AID): #1UgaAQ9a (MATLAB)