查看: 4513|回复: 11|关注: 0

[已解决] matlab编写一个简单的求和函数问题

[复制链接]

新手

8 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
捕获.PNG 或者k的取值范围为0:~100,怎么编写程序?初学者写出来的总是错误,请帮忙,谢谢了。

MATLAB 基础讨论
版块优秀回答者

入门

191 麦片

财富积分


50500


5

主题

181

帖子

26

最佳答案
  • 关注者: 39
发表于 2018-2-8 16:14:45 | 显示全部楼层
你先把a和b定义了,比如
a = [2,3];
b = [3,4];
y = a*b'

新手

11 麦片

财富积分


050


1

主题

10

帖子

1

最佳答案
  • 关注者: 1
发表于 2018-2-8 16:26:36 | 显示全部楼层 |此回复为最佳答案
function y=qiuhe(a,b)
[rowa,cola]=size(a);     %rowa表示a的行数 ,cola表示a的列数
[rowb,colb]=size(b);     %rowb表示b的行数 ,colb表示b的列数
%%判断是否满足累加条件
if rowa==rowb&&cola==colb
    y=0;
else
    error('a和b矩阵维度不统一')
end
%%累加
for i=1:rowa
    for j=1:cola
        y=y+a(i,j)+b(i,j);
    end
end

qiuhe.m

336 Bytes, 下载次数: 31

求和函数

新手

8 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
 楼主| 发表于 2018-2-8 17:16:28 | 显示全部楼层
洋宁宁 发表于 2018-2-8 16:26
function y=qiuhe(a,b)
[rowa,cola]=size(a);     %rowa表示a的行数 ,cola表示a的列数
[rowb,colb]=size(b ...

如果ak和bk都是关于k和x的一个等式,例如ak=k^2+k*x,bk=x/k,怎么写?等式结果中含有x

新手

11 麦片

财富积分


050


1

主题

10

帖子

1

最佳答案
  • 关注者: 1
发表于 2018-2-8 17:28:21 | 显示全部楼层
你看我的对不对
TIM图片20180208172654.png
代码   :
clc,clear
syms x
for i=1:10    %假设这里k=10
        a(i)=i^2+i*x;
        b(i)=x/i;
        y=qiuhe(a,b);
end
y


syms  表示符号声明,说白点就是让系统知道这是个未知数

新手

8 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
 楼主| 发表于 2018-2-8 17:49:13 | 显示全部楼层
洋宁宁 发表于 2018-2-8 17:28
你看我的对不对

代码   :

我看你的思路修改了下,之前定义的符号变量总是报错,修改后不报错了,但是出来的结果感觉还是不对,我把我的公式贴上来,您给看下,谢谢了。根据公式1、4、5帮我写个代码,第二三个公式不用看。 0000.PNG

新手

11 麦片

财富积分


050


1

主题

10

帖子

1

最佳答案
  • 关注者: 1
发表于 2018-2-8 19:17:36 | 显示全部楼层
我先说声抱歉   我那个求和函数 写错了

  y=y+a(i,j)+b(i,j);   改成 y=y+a(i,j)*b(i,j);
抱歉啊
这是我下边的代码
clc,clear
syms A z a b
a(1)=1;b(1)=z/2;
for i=2:10    %假设这里k=10
        a(i)=A^2*a(i-1)/(4*i*(i+1));
        b(i)=(z/2*(1-z^2)^i+2*i*b(i-1))/(2*i+1);
        y=qiuhe(a,b);
end
y
输出结果如下  结果太长了  这只是一部分
TIM图片20180208191628.png

新手

8 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
 楼主| 发表于 2018-2-9 09:18:10 | 显示全部楼层
洋宁宁 发表于 2018-2-8 19:17
我先说声抱歉   我那个求和函数 写错了

  y=y+a(i,j)+b(i,j);   改成 y=y+a(i,j)*b(i,j);

非常感谢,您的帮助让我对使用matlab的思路有了个更进一步的认识,谢谢。

新手

8 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
 楼主| 发表于 2018-2-9 09:21:22 | 显示全部楼层
洋宁宁 发表于 2018-2-8 19:17
我先说声抱歉   我那个求和函数 写错了

  y=y+a(i,j)+b(i,j);   改成 y=y+a(i,j)*b(i,j);

求和y=y+a(i,j)*b(i,j),是不是应该是点乘?两个矩阵每个对应元素相乘,然后相加,不是矩阵相乘

新手

5 麦片

财富积分


050


0

主题

3

帖子

0

最佳答案
发表于 2018-2-14 14:53:07 | 显示全部楼层
3楼的程序很完备,赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表