如何使用MATLAB作出如下函数ns关于x变化的函数,x的取值范围为0到10?

如何使用MATLAB作出如下函数ns关于x变化的函数,x的取值范围为0到10?,第1张

如何使用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)

运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8244084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存