k******o 发帖数: 61 | 1 【 以下文字转载自 Physics 讨论区 】
发信人: kafeimao (咖啡毛), 信区: Physics
标 题: 一个关于用matlab解微分方程的小问题 (转载)
发信站: BBS 未名空间站 (Sun May 8 17:53:36 2011, 美东)
发信人: kafeimao (咖啡毛), 信区: Mathematics
标 题: 一个关于用matlab解微分方程的小问题
发信站: BBS 未名空间站 (Sun May 8 17:29:15 2011, 美东)
大家好,我要用matlab做变系数微分方程组的参数拟合,参考其他论坛上的教程,我修
改了自己的程序如下:
function dy=dydt(t,y,k)
dy=zeros(2,1)
dy(1)=0.0321*k(1)*(k(2)-y(1))-k(3)*y(1)-y(2)
dy(2)=0.25*k(4)*exp(-k(4)*t)*k(2);
function y=numcal(k,x)
global y0
tspan=[0 max(x)];
[m,n]=size(x);
[tt yy] = ode23s(@... 阅读全帖 |
|
k******o 发帖数: 61 | 2 大家好,我要用matlab做变系数微分方程组的参数拟合,参考其他论坛上的教程,我修
改了自己的程序如下:
function dy=dydt(t,y,k)
dy=zeros(2,1)
dy(1)=0.0321*k(1)*(k(2)-y(1))-k(3)*y(1)-y(2)
dy(2)=0.25*k(4)*exp(-k(4)*t)*k(2);
function y=numcal(k,x)
global y0
tspan=[0 max(x)];
[m,n]=size(x);
[tt yy] = ode23s(@dydt,tspan,y0,[],k);
yc=spline(tt',yy',x);
y=yc;
主程序
clc;clear;
global y0
xdata=[1,2,3,4];ydata=[3,4,5,6];
k0=[0,0,0,0,];%要识别参数的初始值
lb=[0,0,0,0];%要识别参数的下限
ub=[6.5,5,6];%要识别参数的上限;课根据参数的范围自己设定。
options=optimset('TolFun',1e-20,'TolX',1e-20,'MaxFunE... 阅读全帖 |
|
k******o 发帖数: 61 | 3 【 以下文字转载自 Mathematics 讨论区 】
发信人: kafeimao (咖啡毛), 信区: Mathematics
标 题: 一个关于用matlab解微分方程的小问题
发信站: BBS 未名空间站 (Sun May 8 17:29:15 2011, 美东)
大家好,我要用matlab做变系数微分方程组的参数拟合,参考其他论坛上的教程,我修
改了自己的程序如下:
function dy=dydt(t,y,k)
dy=zeros(2,1)
dy(1)=0.0321*k(1)*(k(2)-y(1))-k(3)*y(1)-y(2)
dy(2)=0.25*k(4)*exp(-k(4)*t)*k(2);
function y=numcal(k,x)
global y0
tspan=[0 max(x)];
[m,n]=size(x);
[tt yy] = ode23s(@dydt,tspan,y0,[],k);
yc=spline(tt',yy',x);
y=yc;
主程序
clc;clear;
global y0
xdata=[1,2,3,4];ydata=data[3,4,5,... 阅读全帖 |
|
k******o 发帖数: 61 | 4 【 以下文字转载自 Mathematics 讨论区 】
发信人: kafeimao (咖啡毛), 信区: Mathematics
标 题: 一个关于用matlab解微分方程的小问题
发信站: BBS 未名空间站 (Sun May 8 17:29:15 2011, 美东)
大家好,我要用matlab做变系数微分方程组的参数拟合,参考其他论坛上的教程,我修
改了自己的程序如下:
function dy=dydt(t,y,k)
dy=zeros(2,1)
dy(1)=0.0321*k(1)*(k(2)-y(1))-k(3)*y(1)-y(2)
dy(2)=0.25*k(4)*exp(-k(4)*t)*k(2);
function y=numcal(k,x)
global y0
tspan=[0 max(x)];
[m,n]=size(x);
[tt yy] = ode23s(@dydt,tspan,y0,[],k);
yc=spline(tt',yy',x);
y=yc;
主程序
clc;clear;
global y0
xdata=[1,2,3,4];ydata=data[3,4,5,... 阅读全帖 |
|
l*****i 发帖数: 3929 | 5 lsqcurvefit - Solve nonlinear curve-fitting (data-fitting) problems in least
-squares sense
Equation
Find coefficients x that best fit the equation
given input data xdata, and the observed output ydata, where xdata and ydata
are matrices or vectors of length m, and F (x, xdata) is a matrix-valued or
vector-valued function.
The lsqcurvefit function uses the same algorithm as lsqnonlin, and provides
an interface designed specifically for data-fitting problems.
Syntax
x = lsqcurvefit(fun,x0,xdata,y |
|
d*******2 发帖数: 340 | 6 程序 scottsclock.m 是从
http://www.mathworks.com/matlabcentral/fileexchange/9503
下载的。我把后面的几个子程序单独作为文件都没有问题,但是其中有一个不行
function local_timerFcn(varargin)
time = clock;
[HpDx,HpDy,MpDx,MpDy,SpDx,SpDy] = GetPolyData(time);
set(hourhand,'xdata',HpDx,'ydata',HpDy);
set(minhand,'xdata',MpDx,'ydata',MpDy);
set(sechand,'xdata',SpDx,'ydata',SpDy);
end
如果把这个子程序作为单独文件,运行时错误信息
??? Error while evaluating TimerFcn for timer 'timer-5'
Undefined function or variable 'hourhand'.
请问是怎么回事?
先谢了! |
|
x*****i 发帖数: 112 | 7 试了试下面的代码,没有问题。
x <- matrix(rnorm(900), ncol = 30)
save(x, file = "xdata.rda")
save(x, file = "xdataset.Rda")
newx <- load("xdata.rda")
newx2 <- load("xdataset.Rda")
那应该是文件坏了吧。 |
|
f*****x 发帖数: 10 | 8 Do you update the entire figure in each calling of button press event
handler? If so, that's probably the reason. One solution is to get the
handle of the line (you already did that), and each time use
set(line_handle, 'xdata', x, 'ydata', y)
to change the coordinates of the line, where x and y are the new coord.
BTW, if you post matlab related questions in EE or computation, you'll
probably get more responses. |
|
K*******g 发帖数: 26 | 9 如果Animal, Cat, AnimalData, CatData这样结构定死了确实很难办,但一般很难办的
时候都说明结构本身有问题。在我看来CatData继承AnimalData不是很合适,因为从命
名上说这两个都只是一组数据,没有成员函数的话享受不到继承带来的多态性。
如果可以的话建议改成以下类:
AnimalBasicData:所有动物都有的数据
AnimalXSpecificData:X特有数据
AnimalData {
enum AnimalType{...}
AnimalType type;
AnimalBasicData *basic;
AnimalXSpecificData *xdata;
AnimalYSpecificData *ydata;
...
}
仅供参考:) |
|
m***n 发帖数: 581 | 10 如果是matlab的.fig文件,应该还是比较容易导出原始数据的。
看看matlab的help,学学graphics一章。
如果是二维xy曲线,只要找到相应的linseries对象,它的属性当中
XData和YData就是它的原始数据了。
如果是已经贴到word里的图,就麻烦多了。 |
|