找回密码
 注册
Simdroid-非首页
查看: 256|回复: 10

MATLAB中如何实现中心差分法?

[复制链接]
发表于 2007-12-20 10:54:50 | 显示全部楼层 |阅读模式 来自 广东深圳
现有一个位移模态的数据,本人想通过中心差分法得到曲率模态,请教各位高手。
位移模态的数据以记事本的格式保存,就像附件中所示的一样,不知道应该怎么把数据读到matlab中,并实现中心差分,根据我所知  :  在有限元分析中用中心差分法可得:υ(i) =y( i + 1) - 2 y( i) + y( i - 1)/h2
附件如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2007-12-20 13:09:08 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
首先,你给的数据里似乎没有步长信息

差分计算方法如下:
一阶差分:gradient命令
二阶差分:del2命令

注意:上面两个命令返回的都是同输入数据同样大小的结果,实际上matlab对内部点进行了中心差分,而对边界点用的是向外差分。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2007-12-21 10:55:27 | 显示全部楼层 来自 湖北武汉
回帖中有几个问题没讲清楚,现补充如下,楼主关心的应该是下面这个问题的计算:

[f(x+h) – 2f(x) + f(x – h)]/h^2     (1)

    这里h是步长。 这个公式是一元函数二阶导用差分公式近似的表达,在matlab里可以用del2命令实现。
    del2命令用来对函数的laplacian离散近似,方法如下:
        给定函数u,它的laplacian为 2×N×del2(u,h),其中N是问题的维数,比方说二元函数u(x,y),此时N=2, 对三元  函 数,四元函数依次类推;
    注意,对于一元函数,此时N必须依然取2(matlab中并未给出明确的对这个特例的说明),所以函数f(x)的laplacian是2×2×del2(f,h)。
公式(1)实际上是一元函数f(x)的二阶导,而对于一元函数来说,它的laplacian就是它的二阶导,即:

f’’(x) = laplacian(f) = [f(x+h) – 2f(x) + f(x – h)]/h^2 = 2*2*del2(f,h)

大家可以试试如下例子
x = 0:0.01:1
y = x.^3;
ythe = 6*x %理论二阶导
yapp = 2*2*del2(y,0.01);%matlab数值近似
plot(x,ythe,'*');
hold on;
plot(x,yapp,'r');
hold off;

结果应该比较满意。欢迎大家指正。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2007-12-21 21:32:19 | 显示全部楼层 来自 台湾台北
这样的话
我如果把这个差分观念用来解热传问题
那  随着时间改变 delta t = 0.025
在x=4  y=3   hx= 1   hy=1.5     那该怎么 写呢
回复 不支持

使用道具 举报

 楼主| 发表于 2007-12-21 23:17:10 | 显示全部楼层 来自 广东深圳

回复 #3 clarkyeah 的帖子

谢谢 clarkyeah ,问题解决,下去再好好验证一下:)
回复 不支持

使用道具 举报

发表于 2007-12-21 23:33:01 | 显示全部楼层 来自 湖北武汉

回复 #4 ttuu 的帖子

呵呵 这个问题可能不是几句话说清楚的了
解偏微分方程的话还是首选用Cosmol femlab吧。
回复 不支持

使用道具 举报

发表于 2007-12-22 21:11:42 | 显示全部楼层 来自 黑龙江大庆
你看看我的上机指导书吧!也许你就会自己编程序啦,比较简单的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2007-12-23 10:52:24 | 显示全部楼层 来自 广东深圳
原帖由 jinzi2006 于 2007-12-22 21:11 发表
你看看我的上机指导书吧!也许你就会自己编程序啦,比较简单的。

感谢jinzi2006 ,很有帮助的资料。
回复 不支持

使用道具 举报

发表于 2010-6-4 14:41:48 | 显示全部楼层 来自 法国
非常感谢
资料

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-7-19 13:04:08 | 显示全部楼层 来自 大连理工大学
同谢~~
hohoho

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-6-27 20:51:18 | 显示全部楼层 来自 重庆
现在正在学,觉得很难
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-3 14:16 , Processed in 0.055326 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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