
你好!
求解程序如下:
myfun=@(x)[x(1)^2- x(2)-1;x(1)^2-2x(3)-1;
x(1)^2-3x(4)-1;
x(1)^2-4x(5)-1;
x(1)^2-5x(6)-1;
x(2)+x(3)+x(4)+x(5)+x(6)-10];%定义函数
x0 = [1;0;2;2;2;2];
[x,fval] = fsolve(myfun,x0) %求解
dr=x(1),di1=x(2),di2=x(3),di3=x(4),di4=x(5),di5=x(6)
结果如下:
dr =
23194
di1 =
43796
di2 =
21898
di3 =
14599
di4 =
10949
di5 =
08759
付一些fsolve的一些知识。
Solves a problem specified byF(x) = 0
for x, where x is a vector and F(x) is a function that returns a vector value
Syntax
x = fsolve(fun,x0)
x = fsolve(fun,x0,options)
x = fsolve(problem)
[x,fval] = fsolve(fun,x0)
具体的,你打开matlab help,然后搜索这个函数,后面还有两个例子。
我的计算方法跟help有点点不同。你多多体会。
加油
希望对你有帮助
1.1 基本方法和模型的建立
在小变形条件下,根据力的独立作用原理,无
论载荷多么复杂,都可以将其分解为若干简单载
1 复杂载荷作用F的简支梁
然后应用叠加法得到复杂载荷下梁内的弯矩:如
图1所示为受任意载荷的简支梁。在集中力偶、
集中力和分布载荷单独作用下的弯矩方程分别为
MM( )= RMA-丁+M( 一&)
R :一 M (1)
Mp( )= R^P —P( —b)
= 一 P
MfJ( )=R 一 1 q( —c)生二: ± 2 L (3)
则在集中力偶M 、集中力P和分布载荷q共同作
用下的弯矩方程为
M ( )= MM( )+MfJ( )+M ( ) (4)
以上各式中应用了跳跃函数,其意义如下
f 0 (I『≤ )
一L『 1( 。, ) ( > )
1.2 计算机分析的实现过程
根据上面介绍的计算模型可应用Matlab编
制如下的计算程序
clear;
L=input( L(In)= ).
M=input( M(KNm)= ).
a input( a(In)= ).
P=input( P(KNm)= ).
b=input( b(In)= ).
q=input( q(KN/m)= );
c=input( c(In)= ).
d=input( d(In)= ).
nd= 3000;
nf=nd+l:
x=linspace(0,L,nf);
dx=L/nd;
%
RMA= M/L;nl=a/dx+l;
MM1=RMA X(1:n1):
MⅣI2=RMA X(nl+l:nf)+M :
MM=[MMl,MM2 J;
%
nl=b/dx+1;bb=L—b;
RPA=bb/LP:
M[Pl=RPAX(1:n1);
M口f)2=RPA X(nl+l:nf)
P(x(nl+l:nf)一b);
MP=[MP1,MP2 J;
%
nl=c/dx+l:
n2=d/dx+1;
RqA (L一0.5(c+d))/L q(d—c);
Mql=RqAX(1:n1);
Mq2=RqA X(nl+l:n2)一
0.5 q (X(nl+l:n2)一c). 2;
Mq3=RqA X(n2+l:nf)一
0.5 q(X(n2+l:nf) c). 2
+0.5 q(X(n2+l:nf)一d). 2;
Mq=[Mql,Mq2,Mq3];
‘J/n
M = MM +MP+Mq:
subplot(2,l,1);Mmax=max(M),Mmin=
rain(M)
plot(X,M),
title(’复杂载荷作用下的弯矩图’)
grid
当L =3 In、M =15 kNm、q=30 kN/m、“
= 0.5 nl、6= l In、f=1.5 In、d =2.5 In时,运
行程序时,得到如图2所示的弯矩图,最大和最小
弯矩分别为Mmax=33.333 kN、Mmin=0=
matlab实现经典功率谱估计
fft做出来是频谱,psd做出来是功率谱;功率谱丢失了频谱的相位信息;频谱不同的信号其功率谱是可能相同的;功率谱是幅度取模后平方,结果是个实数
matlab中自功率谱密度直接用psd函数就可以求,按照matlab的说法,psd能实现Welch法估计,即相当于用改进的平均周期图法来求取随机信号的功率谱密度估计。psd求出的结果应该更光滑吧。
1、直接法:
直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。
Matlab代码示例:
clear;
Fs=1000;
%采样频率
n=0:1/Fs:1;
%产生含有噪声的序列
xn=cos(2pi40n)+3cos(2pi100n)+randn(size(n));
window=boxcar(length(xn));
%矩形窗
nfft=1024;
[Pxx,f]=periodogram(xn,window,nfft,Fs);
%直接法
plot(f,10log10(Pxx));
1、首先,建立一个自定义函数文件,如funm文件。文件内容为
function c=fun(a,b);
c=a+b;
2、然后,在当前文件目录下,执行窗口命令
a=2;b=5;
c=fun(a,b)
3、运行结果
以上就是关于高分求解一个MATLAB编程计算程序全部的内容,包括:高分求解一个MATLAB编程计算程序、matlab 材料力学计算程序、matlab 怎么编程计算有功功率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)