
c“一百分高分悬赏,答对还有追加”(请问MATLAB高手一个如何实现一个迭加函数画图问题)
如何实现一个的二维图形显示大家过来帮帮忙啊想实现一个迭加函数的二维图形显示,坐标为函数自变量和函数本身函数如下:functions=fun1(m)s=0;fork=0:m...
如何实现一个的二维图形显示
大家过来帮帮忙啊
想实现一个迭加函数的二维图形显示,坐标为函数自变量和函数本身
函数如下:
function s=fun1(m)
s=0;
for k=0:m
s=s+m*binopdf(k,100,0.01); % binopdf为一个二项分布概率函数
end;
命令栏输入
m=0:50;
y=[y,fun1(m)];
plot(m,y)
输出图像始终为一条水平线,怀疑图形输出时的函数值不随自变量的变化而变化,始终为恒值
可一直找不出修改的办法
请各位 路过的大虾们能为小生指点迷津,小生在此感激不尽!! 展开
大家过来帮帮忙啊
想实现一个迭加函数的二维图形显示,坐标为函数自变量和函数本身
函数如下:
function s=fun1(m)
s=0;
for k=0:m
s=s+m*binopdf(k,100,0.01); % binopdf为一个二项分布概率函数
end;
命令栏输入
m=0:50;
y=[y,fun1(m)];
plot(m,y)
输出图像始终为一条水平线,怀疑图形输出时的函数值不随自变量的变化而变化,始终为恒值
可一直找不出修改的办法
请各位 路过的大虾们能为小生指点迷津,小生在此感激不尽!! 展开
2个回答
展开全部
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
展开全部
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
所以函数内部在for循环那里,for k=0:m里面的m代入的是向量,
那么matlab自动取矩阵的第一个元素,你这里是0,
所以就变成for k=0:0,等于没循环。
因此最后结果只有s=0
解决办法,
一种可以在命令行输入for循环求y。
>>m=0:50;
>>y=[];
>>for k=1:length(m)
y(k)=fun1(m(k));
end
>>plot(m.y)
第二种办法,把函数改写了,参数按矩阵来算。
function s=fun1(m)
s=zeros(size(m));
for k=1:numel(m)
a=m(k)*binopdf(0:m(k),100,0.01);
s(k)=sum(a(:));
end;
这样函数就可以接受矩阵了。
然后在命令行输入
>>m=0:50;
>>y=fun1(m);
>>plot(m,y)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询