Fortran Coder

查看: 4410|回复: 2
打印 上一主题 下一主题

[线性代数] 矩阵的维度一直是错的,但不知道怎么改,求助

[复制链接]

4

帖子

1

主题

0

精华

入门

F 币
40 元
贡献
23 点
跳转到指定楼层
楼主
发表于 2016-2-8 10:27:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
integer::N

real*8,allocatable,dimension(:,:)::a,b,c,y,f,d

allocate(f(n,2))
allocate(y(n,2))
allocate(a(n,n))
allocate(b(n,n))
allocate(c(n,n))
allocate(d(n,1))

f(:,1)=y(:,2)                                             !dy1/dt=y2    
f(:,2)=matmul(a,(-matmul(b,y(:,2))-matmul(c,y(:,1))+d))     !dy2/dt=a*(-b*y2-c*y1+d)The shapes of the array expressions do not conform.[f]

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

4

帖子

1

主题

0

精华

入门

F 币
40 元
贡献
23 点
板凳
 楼主| 发表于 2016-2-8 12:47:14 | 只看该作者
fcode 发表于 2016-2-8 12:44
f(:,2) 改为 f(:,2:2) 就好了

f(:,:) 和 f 是二维数组

谢谢老大!

2022

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1599 元
贡献
689 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2016-2-8 12:44:16 | 只看该作者
f(:,2) 改为 f(:,2:2) 就好了

f(:,:) 和 f 是二维数组
f(2,2) 是单变量
f(:,2) 是一维数组
f(:,2:2) 是 N*1 的二维数组
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-26 01:49

Powered by Tencent X3.4

© 2013-2024 Tencent

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