声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1585|回复: 2

[稳定性与分岔] 请教参数变化敏感性分析以及xlsread的问题

[复制链接]
发表于 2010-3-10 11:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
问题一建立微分方程求解,观察方程中某一个参数变化对变量的影响,这应该是分岔。
但是如果不绘制分岔图,而改为在某一个具体的时刻(比如t是1000个,用四阶龙哥库塔法)绘制方程中参数的变化对变量影响情况,这样做能否称为参数的敏感性分析,当然会将参数的取值范围及间隔好好的规划。

问题二,由于我采用的是将每一次的计算结果都保存到xls文档中(用xlswrite命令),所以在图形绘制时需要读出来(用xlsread命令),但遇到这样一个问题,xlsread('filename',range),关于range是在文档中某一个具体范围可选,比如“A1:A100“,但是想选择某个具体的数,比如“A80”,命令似乎提示错误。请问当想选择文档中具体数据时,怎样操作?(我的笨方法是先选择一列然后再具体读入某个数据,但是太麻烦了,耗时太久)

希望大家解惑!
回复
分享到:

使用道具 举报

发表于 2010-3-10 16:00 | 显示全部楼层
问题1: 在1000和0时变化参数会有多大的差别呢? 我觉得可能的变化是初始值有一点,其它的与分岔图的应该差不多。

问题2:是不是可以把数据全部读出来,然后选择具体那一列或者哪一行的数据(可能跟你说的一样,我没有看懂)
 楼主| 发表于 2010-3-10 16:37 | 显示全部楼层
比如
[t,u]=ode45(@differential_equation,[0:period/100:100*period],y0);

得到的结果u应该是有10000个值,按照分岔图的做法
Ij_sub=4000:0.1:4100;   %Ij_sub就是参数变量
for i=1:length(Ij_sub)
     [t,u]=ode45(@differential_equation,[0:period/100:100*period],y0);
     plot(Ij_sub(i),u(2000:100:end,1));
    hold on
end

而按照我的想法,在某一个特定的时间上,也可以理解为在某一个特定的u上,应该是
  U=[];
    for i=1:length(Ij_sub)
    U(:,i)=xlsread('filename',range);  %% 这里主要是将方程结果的u1以列的形式保存到U矩阵,没具体写出来
   end
  plot(Ij_sub,U(6000,:))  %% 选择每一个不同的u1在第6000个计算结果进行绘制

可能我表达不是很清楚。就是每次不同的参数“Ij_sub”,得到不同的微分方程结果,然后将结果保存到xls文档。之后选择具体需要的数据绘制图形。而不是像分岔图那样,去掉瞬态响应后隔周期画图。我的意思是相当于每一个Ij_sub只对应一个值。
可能我表达不是很清楚,但大体就是如此
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-19 13:09 , Processed in 0.097181 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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