怎么写出下面问题的matlab模型

\u5982\u4f55\u7528Matlab\u6c42\u89e3\u4e0b\u9762\u8fd9\u4e2a\u6a21\u578b\uff1a\u5728\u95ee\u9898\u8865\u5145\u91cc\uff1a\u6c42\u5927\u795e\u6307\u70b9\uff0c\u5199\u51fa\u6c42\u89e3\u8fc7\u7a0b

\u786e\u5b9a\u76ee\u6807\u51fd\u6570\u6ca1\u6709\u5199\u9519\uff1f
\u8fd9\u8fd8\u662f\u51f8\u4f18\u5316\u95ee\u9898\u4e48\uff1f

\u6b64\u5fae\u5206\u65b9\u7a0b\u7ec4\u53ef\u7528ode45\uff08\uff09\u51fd\u6570\u6c42\u5f97\u5176\u6570\u503c\u89e3\u3002
\u9996\u5148\uff0c\u5efa\u7acb\u81ea\u5b9a\u4e49\u51fd\u6570
function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
end
\u5176\u4e8c\uff0c\u7528ode45\uff08\uff09\u51fd\u6570\u6c42\u51fax\u3001y\u503c
[x,y] = ode45(@rigid,[0 12],[0 1 1]);
\u5176\u4e09\uff0c\u7528plot\uff08\uff09\u51fd\u6570\u7ed8\u51fax\u2014y\uff0cx\u2014dy/dx\uff0cx\u2014d²y/dx²\u66f2\u7ebf\u56fe
plot(x,y(:,1),'-',x,y(:,2),'-.',x,y(:,3),'.')
\u8fd0\u884c\u7ed3\u679c

该问题实际上就是求非线性规划问题。可以用matlab的fmincon()非线性规划函数来求解。求解思路:

1、建立目标函数 fmincon_fun( ),即

min z=5000*sum(xi)+6500*sum(yi)+200*sum(zi);

2、建立约束函数 fmincon_con( ),即

ceq1 = x1+y1-z2-3000

ceq2 = x2+y2+z2-z3-4500

ceq3 = x3+y3+z3-z4-3500

ceq4 = x4+y4+z4-z5-4000

ceq5 = x5+y5+z5-z6-4000

ceq6 = x6+y6+z6-5000

3、建立执行函数fmincon_main( ),即

x0=ones(1,18)*0.5  %初值

lb=zeros(1,18);   %下界值

ub=[ones(1,6)*3000 ones(1,6)*1500 ones(1,6)*5000]; %上界值

[x,fval,exitflag]=fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub,@(x) fmincon_con(x))

4、根据上述思路编程后,运行得到

最低生产成本F=最低生产成本F=129107500元

x1=3000件,x2=3000件,x3=3000件,x4=3000件,x5=3000件,x6=3000件

y1=1件,y2=1500件,y3=500件,y4=1000件,y5=1500件,y6=1500件

z1=1件,z2=1件,z3=1件,z4=1件,z5=1件,z6=500件



  • 鎬庝箞鍐欏嚭涓嬮潰闂鐨刴atlab妯″瀷
    绛旓細璇闂瀹為檯涓婂氨鏄眰闈炵嚎鎬ц鍒掗棶棰樸傚彲浠ョ敤matlab鐨fmincon锛堬級闈炵嚎鎬ц鍒掑嚱鏁版潵姹傝В銆傛眰瑙f濊矾锛1銆佸缓绔嬬洰鏍囧嚱鏁 fmincon_fun( )锛屽嵆 min z=5000*sum(xi)+6500*sum(yi)+200*sum(zi);2銆佸缓绔嬬害鏉熷嚱鏁 fmincon_con( )锛屽嵆 ceq1 = x1+y1-z2-3000 ceq2 = x2+y2+z2-z3-4500 ceq3 = ...
  • 鎬庝箞鐢matlab绋嬪簭琛ㄧず涓嬮潰鐨勯棶棰
    绛旓細V=[3 9; 9 5; 9 6]; % Excel鐨勮繛鎺ュ叧绯 杩炴帴鐭╅樀锛屽垵濮嬪寲涓0锛岀劧鍚庢牴鎹繛鎺ュ叧绯诲鏈夎繛鎺ョ殑鍏冪礌璧嬪 M=zeros(length(N));for i=1:size(V,1)r=find(V(i,1)==N);c=find(V(i,2)==N);M(r,c)=1;end disp(M)
  • 濡備綍鐢matlab瑙e喅涓嬮潰鐨勯棶棰?
    绛旓細锛3锛塎=-1,鍗筹紙X=-1锛孻=-1锛=0.1 M=0锛屽嵆锛圶=-1锛孻=0锛=0.2 M=1锛屽嵆锛圶=-1锛孻=1鎴朮=1锛孻=-1鎴朮=1锛孻=0鎴朮=1锛孻=1锛=0.05+0.2+0.3+0.15=0.7 锛4锛塏=-1锛屽嵆锛圶=-1锛孻=-1鎴朮=-1锛孻=1鎴朮=1锛孻=-1鎴朮=-1锛孻=0锛=0.1+0.2+0.05+0.2=0...
  • 鎬庝箞鐢matlab瑙e喅涓嬮潰闂,瑕佺▼搴
    绛旓細1銆佺敤寰幆璇彞锛屾眰鍑哄綋胃1=0鍒2蟺鏃剁殑胃2銆佄3銆佄5銆佄6鐨勫搴斿笺2銆佸埄鐢╩eshgrid锛堬級鍑芥暟锛屽胃1鍜宔鏁版嵁骞抽潰缃戞牸鍖 3銆佸埄鐢ㄏ6鐨勮绠楀叕寮忥紝璁$畻瀵瑰簲胃1鍜宔鐨勏6鍊笺4銆佸埄鐢╩esh锛堬級鍑芥暟锛岀粯鍑哄叾胃1銆乪鍜屜6涓夌淮鏇查潰鍥俱
  • 姹傜敤matlab瑙涓嬮潰闂鐨绋嬪簭 闄勫甫璇︾粏瑙h灏辨洿濂戒簡
    绛旓細matlab 绋嬪簭锛歴yms F0 T m ta_t=(-F0/T*t+F0)/m;v_t=int(a_t);%鍒濋熷害涓0锛屾墍浠ョН鍒嗗父鏁癈涓0expand(v_t)s_t=int(v_t);%鍒濅綅绉讳负0锛屾墍浠ョН鍒嗗父鏁癈涓0expand(s_t)缁撴灉锛歷_t = (F0*t)/m - (F0*t^2)/(2*T*m) s_t = (F0*t^2)/(2*m) - (F0*t^3)/(6*...
  • matlab涓笅闈鐨闂搴旇濡備綍缂栫▼
    绛旓細鐢诲浘鍙互鐢╡zmesh锛歟zmesh('0.0344*cos(a1)/cos(a2)*(tan(a1)-tan(a2))',[-40 40 -90 90]*pi/180)闇瑕佹槑纭竴涓嬶細1銆併(tana1-tna2)銆戣繖椤规槸鍦ㄥ垎瀛愯繕鏄垎姣嶏紵2銆併愭渶浼樸戞槸浠涔堟蹇碉紵鏈澶ц繕鏄渶灏忥紵
  • 缂栧啓matlab浠g爜姹傝В涓嬮潰鐨鏁板寤烘ā闂:
    绛旓細s2=100;%涔欏潗鏍 s3=0;%鎽╂墭杞﹀潗鏍 ds=s2-s1;%鐢蹭箼璺濈 v1=10;v2=8;v3=60;%閫熷害 n=0;%娆℃暟 ms=0;%姣忔鎽╂墭杞﹁椹惰窛绂 mss=0;%姣忔鐩搁亣浣嶇疆 zj=1;while ds>=0.2;n=n+1;if zj==1;t=ds/(v3+v2);s2=s2-t*v2;s1=s1+t*v1;ds=s2-s1;ms(n)=t*v3;mss(n)=s2;zj=2...
  • 姹傚ぇ绁炲憡鐭濡備綍瀹炵幇涓嬮潰matlab绋嬪簭闂
    绛旓細浠ヤ笅绋嬪簭璁$畻闅忔満鍦10*10鍧愭爣鍐呯敓鎴5涓偣锛岄殢鏈哄彇2鐐归棿璺濈20娆″悗姹傚叾骞冲潎鍊硷紙濡傛灉鎴戠悊瑙f剰鎬濅笉瀵硅杩介棶锛夐殢鏈虹敓鎴5涓偣锛屽湪锛0,0锛夊埌锛10,10锛夊唴 dotset=[10*rand,10*rand;10*rand,10*rand;10*rand,10*rand;10*rand,10*rand;10*rand,10*rand];total = 0;%鎬昏窛绂 寰幆20娆 for i=...
  • 鎬庝箞鐢matlab璁$畻涓嬮潰鐨勯棶棰(涓昏瑕佺▼搴,瓒婄畝鍗曡秺濂)?
    绛旓細A = 10 : -0.05 : 9
  • 鐢MATLAB姹涓嬮棶棰
    绛旓細鏍规嵁鎷夋牸鏈楁棩鎻掑煎師鐞嗙紪绋嬶紝鍙互寰楀埌鎷夋牸鏈楁棩鎻掑煎椤瑰紡鐨勬嫙鍚堢郴鏁般傛眰瑙h繃绋嬶細x=[0,1,2];y=[1,2,3];P = lagrangepoly(x,y) %姹傛嫙鍚堢郴鏁 y=P(1)*x.^2+P(2)*x+P(3)*ones(1,3) %璁$畻鎻掑煎椤瑰紡鍚庡緱鍒扮殑y鍊笺傝繍琛岀粨鏋 鍑芥暟浠g爜鍙互绉佷俊缁欏嚭銆
  • 扩展阅读:启动项找不到sata硬盘 ... 个人自查问题清单50条 ... 管理工作问题不足20条 ... minitab数据分析教程 ... 硬盘插电脑上读不出来 ... 管理者存在的问题大全 ... 管理七个常见问题 ... mathpix免费只能用10次 ... 如何使用matlab 调pid ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网