24小时热门版块排行榜    

查看: 663  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wzp0098

木虫 (著名写手)

[求助] 三维画图

请大侠帮忙,具体内容在附件中!
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★
wzp0098(金币+30): 10 2011-11-04 17:39:15
xiegangmai(金币+3): 谢谢应助! 2011-11-04 20:38:32
如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。例如你说的y是x和t的函数,方程式出现了dy/dt  dy/dx
这样的方程如果有解析解,可求出解析解绘图,见下贴
http://muchong.com/bbs/viewthread.php?tid=3757213&authorid=149791
如果解析解很难求,也可采用数值解,解法有matlab工具箱pde函数或者自己编有限差分算法 或者有限元算法
这里给个有限差分算法的算例吧
CODE:
function varargout=liu(varargin)
%测试问题 来自文献 孙志忠 偏微分数值解法
C=1;a1=0;a2=1;b1=0;b2=1;h1=1/20;h2=1/800;
fx=inline('exp(x)');
gy1=inline('exp(y)');
gy2=inline('exp(1+y)');
f0=inline('0','x','y');
[X,Y,U]=Heatflow(f0,fx,gy1,gy2,a1,a2,b1,b2,C,h1,h2);
mesh(X,Y,U);
shading flat;
xlabel('X','FontSize',14);
ylabel('Y','FontSize',14);
zlabel('error','FontSize',14);
title('误差图');
function [X,Y,U]=Heatflow(f0,fx,gy1,gy2,a1,a2,b1,b2,C,h1,h2)
%求解热传导问题:
%求解热传导问题:
%U_y-CU_xx=f(x,y)
%y(x,b1)=fx(x)
%U(a1,y)=g1(y)
%U(a2,y)=g2(y)
%(x,y) in [a1,a2]*[b1,b2]
%h1离散x方向的步长
%h2离散y方向的步长
x=a1:h1:a2;
y=b1:h2:b2;
m=length(x)-1;
n=length(y)-1;
h=(a2-a1)/m;
k=(b2-b1)/n;
r=C*k/h^2;
[X,Y]=meshgrid(x,y);
Z=X;
U=zeros(n+1,m+1);
for i=1:m+1
Z(1,i)=feval(fx,x(i));
end
for i=1:n
Z(i,1)=feval(gy1,y(i));
Z(i,m+1)=feval(gy2,y(i));
end
for i=2:n+1
    for j=2:m
        Z(i,j)=(1-2*r)*Z(i-1,j)+r*(Z(i-1,j-1)+Z(i-1,j+1))+h2*feval(f0,x(j),y(i-1));
        U(i,j)=abs(Z(i,j)-f(x(j),y(i)));
    end
end
function z=f(x,y)
%精确解函数
z=exp(x+y);

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
9楼2011-11-04 17:12:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

niexiaowu

木虫 (正式写手)

还转化为pdf文件,真绝
2楼2011-10-27 15:51:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp0098

木虫 (著名写手)

希望大家真诚交流,本人感激不尽!
3楼2011-11-02 21:14:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★
xiegangmai(金币+2): 谢谢应助! 2011-11-03 08:01:35
wzp0098(金币+10): 谢谢!可是怎么画图出来? 2011-11-03 10:51:04
这个可以考虑符号解法和,数值解法
给个解复数方程的例子
dsolve('D2y-2*i*Dy+y=sin(x)','x')

ans =

C2*exp(x*(2^(1/2)*i + i)) + C3/exp(x*(2^(1/2)*i - i)) + (2^(1/2)*exp(x*(2^(1/2)*i + i))*(cos(x) + sin(x)*(2^(1/2)*i + i))*i)/(4*exp(x*i + 2^(1/2)*x*i)*((2^(1/2)*i + i)^2 + 1)) - (2^(1/2)*(cos(x) - sin(x)*(2^(1/2)*i - i))*i)/(4*exp(x*i - 2^(1/2)*x*i)*exp(x*(2^(1/2)*i - i))*((2^(1/2)*i - i)^2 + 1))

>> dy=@(t,x)[x(2);sin(t)+2*i*x(2)-x(1)];
>> [t,x]=ode45(dy,[0,1],[1,2])

t =

         0
    0.0244
    0.0487
    0.0731
    0.0975
    0.1225
    0.1475
    0.1725
    0.1975
    0.2225
    0.2475
    0.2725
    0.2975
    0.3225
    0.3475
    0.3725
    0.3975
    0.4225
    0.4475
    0.4725
    0.4975
    0.5225
    0.5475
    0.5725
    0.5975
    0.6225
    0.6475
    0.6725
    0.6975
    0.7225
    0.7475
    0.7725
    0.7975
    0.8225
    0.8475
    0.8725
    0.8975
    0.9231
    0.9487
    0.9744
    1.0000


x =

   1.0000             2.0000         
   1.0484 + 0.0012i   1.9730 + 0.0968i
   1.0961 + 0.0047i   1.9407 + 0.1922i
   1.1430 + 0.0105i   1.9032 + 0.2857i
   1.1888 + 0.0186i   1.8607 + 0.3771i
   1.2348 + 0.0292i   1.8120 + 0.4683i
   1.2794 + 0.0420i   1.7583 + 0.5567i
   1.3226 + 0.0570i   1.6998 + 0.6419i
   1.3643 + 0.0741i   1.6367 + 0.7237i
   1.4044 + 0.0931i   1.5691 + 0.8018i
   1.4428 + 0.1141i   1.4974 + 0.8759i
   1.4793 + 0.1369i   1.4217 + 0.9458i
   1.5138 + 0.1614i   1.3424 + 1.0112i
   1.5464 + 0.1874i   1.2596 + 1.0719i
   1.5768 + 0.2149i   1.1738 + 1.1277i
   1.6050 + 0.2438i   1.0852 + 1.1784i
   1.6310 + 0.2738i   0.9940 + 1.2240i
   1.6547 + 0.3049i   0.9007 + 1.2641i
   1.6760 + 0.3370i   0.8055 + 1.2987i
   1.6950 + 0.3698i   0.7087 + 1.3278i
   1.7115 + 0.4033i   0.6108 + 1.3511i
   1.7255 + 0.4373i   0.5120 + 1.3687i
   1.7371 + 0.4717i   0.4127 + 1.3804i
   1.7461 + 0.5063i   0.3133 + 1.3864i
   1.7527 + 0.5410i   0.2140 + 1.3864i
   1.7568 + 0.5756i   0.1152 + 1.3807i
   1.7585 + 0.6100i   0.0174 + 1.3692i
   1.7577 + 0.6440i  -0.0793 + 1.3520i
   1.7545 + 0.6775i  -0.1745 + 1.3291i
   1.7490 + 0.7104i  -0.2677 + 1.3007i
   1.7412 + 0.7425i  -0.3588 + 1.2669i
   1.7311 + 0.7737i  -0.4474 + 1.2277i
   1.7188 + 0.8038i  -0.5332 + 1.1835i
   1.7045 + 0.8328i  -0.6158 + 1.1343i
   1.6881 + 0.8605i  -0.6951 + 1.0803i
   1.6697 + 0.8868i  -0.7707 + 1.0218i
   1.6496 + 0.9116i  -0.8424 + 0.9590i
   1.6271 + 0.9353i  -0.9115 + 0.8904i
   1.6029 + 0.9572i  -0.9761 + 0.8177i
   1.5771 + 0.9772i  -1.0358 + 0.7413i
   1.5498 + 0.9951i  -1.0905 + 0.6615i
你的是复数微分方程组,需要改写成一个函数文件 再用ode求解
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
4楼2011-11-02 23:59:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见