如何使用MATLAB作出求歼毁磨解ns关于x变化氏斗的函数的值,可以通过下列代码进行计算:
x=0:1:10
for i=1:length(x)
syms ns
func=1.184e18-0.147e17*x(i)-2.14e5*ns^(2/3)-8.398*ns-0.314*x(i)*ns
ns0(i)=vpasolve(func==0)
end
A=[x' ns0']
disp(' x ns')
disp(A)
plot(x,ns0)
grid on
xlabel('x')ylabel('n_s')
运行结余歼果如下。
用fsolve可以解出与Ef的值。
ns1=3.836;ns2=1.3187;ns3=4.2284;Ef1=7.5759 ;Ef2=3.5833;Ef3=8.8371
求解方差扒法:
x0=[5.4986 圆渣 1.4495 8.5303 6.2206 3.5095 5.1325]%初值
[x,fval,exitflag] = fsolve(@ex_fun,x0) %ex_fun——自定义函数
ex_fun()橘庆悄函数私信给出。
用Matlab求解偏微分方程,可以用pde工具箱来解决。例如,简单的点热源方程
求解步骤及主要函数:
1、问题定义
2、创建具有单个腊竖毕因变量的PDE模型纤液, createpde()
3、创建几何结构并将其追加到PDE模型中,geometryFromEdges()
4、使用边界条件,pdegplot()
5、指定PDE系数
6、指定初始条件,setInitialConditions()
7、生成网格,pdemesh()
8、生成时间离散化
9、求解数值解,solvepde()
10、绘图解的图形,pdeplot()
执行代码:
clc
R1 = [34-111-1-1-111]
C1 = [1000.4]
C1 = [C1zeros(length(R1) - length(C1),1)]
gd = [R1,C1]
sf = 'R1+C1'
ns = char('R1','C1')'
g = decsg(gd,sf,ns)
numberOfPDE = 1
pdem = createpde(numberOfPDE)
geometryFromEdges(pdem,g)
figure
pdegplot(pdem,'edgeLabels','on','subdomainLabels','on')
axis([-1.1 1.1 -1.1 1.1])
axis equal
title 'Geometry With Edge and Subdomain Labels'
applyBoundaryCondition(pdem,'Edge',(1:4),'u',0)
specifyCoefficients(pdem,'m',0, '轮芹d',1, 'c',1, 'a',0,'f',1)
setInitialConditions(pdem,0)
setInitialConditions(pdem,1,'face',2)
msh = generateMesh(pdem)
figure
pdemesh(pdem)
axis equal
nframes = 20
tlist = linspace(0,0.1,nframes)
pdem.SolverOptions.ReportStatistics ='on'
result = solvepde(pdem,tlist)
u1 = result.NodalSolution
figure
umax = max(max(u1))
umin = min(min(u1))
for j = 1:nframes,
pdeplot(pdem,'xydata',u1(:,j),'zdata',u1(:,j))
caxis([umin umax])
axis([-1 1 -1 1 0 1])
Mv(j) = getframe
end
movie(Mv,1)
运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)