这是程序:
function y=summation(j,k,n)
summation=0
for j= 0:n
for k =0:n
for i=max([0,j+k-n]):min([j,k])
summation=summation+(-1)^(k-i)*nchoosek(2k,2i)*nchoosek(n-k,j-i);
end
y=summation
??? Error: File: F:\200910520109\xie\summation.m Line: 6 Column: 49
Missing MATLAB operator.
怎么改啊
j,k 是没有直接给出的,n是已知的。j= 0:n,k =0:n。
function y=summation(n)
summation=0
for j= 0:n
for k =0:n
for i=max([0,j+k-n]):min([j,k])
summation=summation+(-1)^(k-i)*nchoosek(2*k,2*i)*nchoosek(n-k,j-i);
end
end
end
y=summation ;
我这个的结果怎么输出的总是0
我看看,为什么我运行的时候是有结果的!!
function y=summation(n)
summation=0;
for j= 0:n
for k =0:n-1
for i=max([0,j+k-n]):min([j,k])
summation=summation+(-1)^(k-i)*nchoosek(2*k,2*i)*nchoosek(n-k,j-i);
end
end
end
y=summation ;
k的变化范围是0:n,实际上k是不能等于n的
你再试试!
function b=drawBezier(p)
b=0;
for k=0:n-1
tmp=nchoosek(n-1,k)*t.^k.*(1-t).^(n-1-k);
b=b+tmp*p(k+1,:);
end
plot(b(:,1),b(:,2))
帮我看看这个定义bezier曲线的程序,怎么错了 帮我改改吧
你贴图我看看要是实现什么公式才能改,要不看你这个不知道你要干啥,
另外,你这个t是什么?
我的理解是,你每一个k得到一个权值,权值去乘以给定矩阵p中每一列中的元素,你是想要把得到的每一列的元素相加吗,还是要干啥??
这个是tmp
b就是求Bezier曲线的公式。
要不我加你QQ吧 我这个不懂,你就指点一下我吧。
892776301 谢了
function drawBezier(p) %p是一个n行2列的矩阵,代表点的坐标
[m n]=size(p);
k=m-1; %代表所化Bezier的介词,由p来确定,p中n个点,则n-1次
q=10000; %控制步长因子
t=linspace(0,1,q);
x=zeros(1,q);
y=x;
for i=0:k
x=x+p(i+1,1)*nchoosek(k,i)*t.^i.*(1-t).^(k-i);
y=y+p(i+1,2)*nchoosek(k,i)*t.^i.*(1-t).^(k-i);
end
plot(p(:,1),p(:,2))
hold on
plot(x,y,'r')
不知道你是不是要这样的,代码不是很好看,能实现任意阶次,要是的你自己优化一下代码!
我明天考试没时间搞了!
MATLAB中如何在M文件中调用自定义函数
1、函数文件+调用函数文件:定义多个M文件:调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t);fprintf(‘M^(1\/3)=%6.4f\\n’,t,y);end 自定义函数文件: mylfg.m function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致 Y=x^(1\/3);注:这种方法要求自...
matlab怎么在一个m文件中写多个函数?
首先建立M文件或直接点击(File\/New\/Function)建立函数文件,其中函数文件的格式是:function [输出变量] = 函数名称(输入变量)注释 函数体 end 编写代码如下并保存文件,注意文件命名时不能以数字开头:function [s] = eg_sum( n )calculate the sum of 1..n s = 0;for i = 1:n s = s...
如何在matlab中创建m文件
1.打开matlab,点击工具栏中的文件,然后点击新建,会出现m文件,点击它就会创建一个m文件 02 文件创建后,会出现如图所示的一个界面,这就是m文件的界面,它类似于一个txt文档,在里面编写函数 03 编写函数必须有一个function,function后面跟随的是函数名,function不能缺少,图片中命名函数名为summ,它...
请问matlab中M文件写的程序开头是定义的function后怎么运行
matlab的m文件有两种类型,命令文件(script file)和函数文件(function file)命令文件没有输入参数,也不返回输输出参数,函数文件可以带输入参数,也可以返回输出参数。命令文件可以直接运行,在MATLAB命令窗口中输入命令文件的名称,就会执行你的命令文件,但是函数文件是不能直接运行的,要以函数调用的方式...
在matlab中,建立M文件: for i=1:m for j=1:n a(i,j)=1\/(i+j-1); e...
hilb1.m function a = hilb1(m,n)a = [];for i=1:m for j=1:n a(i,j)=1\/(i+j-1);end;end;a=rats(a);调用 >> a = hilb1(2,3)a = 1 1\/2 1\/3 1\/2 1\/3 1\/4
matlab一个m文件中定义两个函数,这两个函数如何相互调用,求解答 下面...
将这两个函数保存在两个m文件里,文件的名字和函数的名字一致,bace.m 和 rid.m 。然后重新建一个m文件,如果调用这两个函数的时候,用其名字,再带参数就行了。eg:result1=base(x);result2=rid(y);result3=result1+result2;
用matlab编写了脚本m文件,是一个函数,自变量跨度为0.1,如何同时显示所...
看你要保存还是只需要在命令窗口打印了。如果要保存,将要保存的数据作为函数的返回值输出来。如果只是要打印不存数据的话,就把你需要了解的函数内部自变量的赋值语句后面的分号去掉,在命令窗就会将那些值输出来。
matlab中的.m文件是什么意思
1. .m文件的定义 在MATLAB环境中,.m文件是一种脚本文件,主要用于存放MATLAB代码。这些代码可以是用于数据分析、图像处理、算法开发等的函数或命令序列。通过运行这些.m文件,可以执行其中的MATLAB命令和函数,实现特定的功能或操作。2. .m文件的内容 .m文件可以包含各种MATLAB语句,如变量赋值、矩阵运算...
Matlab中m文件,函数文件,脚本文件的区别是什么?
有一个独立的变量储存空间\\x0d\\x0a函数里面定义的变量不会影响base工作空间的内容\\x0d\\x0abase工作空间的变量也不会影响函数内部的变量\\x0d\\x0a函数文件必须以函数定义行为第一行内容\\x0d\\x0a\\x0d\\x0a而脚本文件实际上就是将多条指令存放在一起\\x0d\\x0a运行脚本文件,实际上和将脚本...
matlab中如何写一个函数来计算方程式y=0.5exp(x\/3)-x*x* sin(x...
1. 首先,在MATLAB中创建一个新的.m文件。你可以使用任何文本编辑器来创建此文件,但通常我们会在MATLAB的命令窗口中直接创建。2. 在这个.m文件中,你可以定义一个函数。函数的定义需要以"function"开始,后面紧跟着函数的输出变量和输入变量。例如,如果你的函数名是`calculate_y`,那么你的函数定义...