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