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

作者: mp19990920 (郝渴連)   2020-04-30 11:14:31
已下的文章為原 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
作者: liiyihluen (哩共啊!!!)   2020-05-03 20:44:00
感謝大大解答,專業推

Links booklink

Contact Us: admin [ a t ] ucptt.com