有一式子Y=(a^x+b^x)^(1/x),其中a,b是已知常数,怎么用matlab画出y关于x变化的图像?想要寻找Y在
1个回答

>> x=-10:0.32:10;

>> M=randint(1,10,[1 10]);%%产生a,b,c...n,n=10

>> yy=zeros(10,length(x));

for i=1:10

yy(i,:)=M(i).^x;

end%%%%得到a^x b^x c^x n^x,yy的第一行对应a^x,第二行对应b^x,第三行对应c^x...

>> y=sum(yy).^(1./x);%%得到最终的y,sum是按列求和就是(a^x+b^x+c^x+.+n^x)

>> plot(x,y)%%x和y是一一对应的关系,所以找到y最大时的列号,那么x的取值就是该列号对应的元素.

>> [m,n]=find(y==max(y))%%画出的图像是单峰值,是最大值,不是最小值.

m =

1

n =

33%%最大值的列号

>> x=x(n)

x =

0.2400%%y最大时对应的x