1樓:劉皮克
**:clear
clcprice = input('輸入**(元): \n \n');
if price < 200
discount = 0;
elseif price < 500
discount = price * 0.03;
elseif price < 1000
discount = price * 0.05;
elseif price < 2500
discount = price * 0.08;
elseif price < 5000
discount = price * 0.1;
elseif price >= 5000
discount = price * 0.14;
else
'wrong!'
endprice_new = price - discount
2樓:
price=input ('請輸入商品**:')if price<200
zhekou=0;
elseif price>=200&price<500zhekou=0.03
elseif price>=500&price<1000zhekou=0.05
elseif price>=1000&price<2500zhekou=0.08
elseif price>=2500&price<5000zhekou=0.10
elseif price>=5000
zhekou=0.14
endprice=price*(1-zhekou)
如何用matlab建立數學模型及求解。哪位高手給個模版。
3樓:我行我素
求最大正值要變為求最小負值,可這樣:
f=[-2,-3];a=[4,2;1,1];b=[20;6];lb=zeros(2,1);ub=[inf;12];[x,fval]=linprog(f,a,b,,,lb,ub)
執行結果是:
optimization terminated.
x =0.0000
6.0000
fval =
-18.0000
則,優化結果是:x1=0,x2=6時最大利潤是18.
4樓:匿名使用者
使用linprog函式。matlab中有詳細的關於linprog的引數、用法的說明,可以檢視。
簡單來說,linprog的一個常用標準形式是x = linprog(f,a,b,aeq,beq,lb,ub),它用來求解最小化問題 min f(x), s.t. ax ≤ b aeq*x = beq lb ≤ x ≤ ub.
所以針對你的問題,相當於minz'=-2x1+3x2,**是x=linprog(-[2;3],[0,1;4,2;1,1],[12;20;6],,,[0;0],)。執行得到結果x=[0;6],即x1=0,x2=6
5樓:匿名使用者
你好,首先我要說你選擇matlab這一強大軟體是明智的,它的功能十分全面,其優化工具箱解決你的問題十分方便線性規劃的求解程式名為linprog,呼叫格式為[x,fval,exitflag,output,lambda] = linprog(c,a,b,aeq,beq,lb,ub,x0,options)其中,x:最優解;val:最優解處的函式值;exitflag:
程式結束時的狀態指示(>0: 收斂,0: 函式呼叫次數或迭代次數達到最大值(該值在options中指定) <0:
不收斂); output:包含以下資料的結構變數(iterations 實際迭代次數, cgiterations 實際pcg迭代次數(大規模計算用),algorithm 實際使用的演算法);lambda:包含以下資料的結構變數(ineqlin 不等式約束的lagrange乘子, eqlin 等式約束的lagrange乘子, upper 上界約束的lagrange乘子, lower 下界約束的lagrange乘子);c:
目標函式矩陣;a/aeq:不等式/等式限制條件係數矩陣;b/beq:不等式/等式限制條件常數項矩陣;lb:
自變數定義域下限;ub:自變數定義域上限;x0:初始解(預設時程式自動取x0=0)options:
包含演算法控制引數的結構 實際應用是並沒有這麼複雜,很多引數預設就可以了,用你的例題演示就是:(在命令視窗輸入)f=[-2;-3];a=[0,1;4,2;1,1];b=[12;20;6];lb=zeros(3,1);[x,fval]=linprog(f,a,b,,,lb)計算出x=[0;6],即x1=0,x2=6fval=-18解釋一下linprog函式只能求最小值,所以將目標函式係數全變為相反數,最終得到的結果應為fval的相反數希望以上內容對你學習matlab能有一定幫助,以後可以多看看幫助檔案,裡面講解很詳細。
6樓:浙江新東方等你
如何利用matlab軟體建立多元迴歸數學模型的方法有:
1、多元迴歸數學模型是線性的,可以用regress()函式求得。例如
f(x1,x2,x3)=a1+a2*x1+a3*x2+a4*x3 %多元線性迴歸函式
求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];
x=[ones(n,1) x1 x2 x3];
y=[。。。];
a = regress(y,x); %ai為多元線性迴歸函式的擬合係數
2、多元迴歸數學模型是非線性的,可以用lsqcurvefit()或nlinfit()函式求得。例如
f(x1,x2,x3)=a1+a2*exp(x1)+a3*exp(x2)+a4*exp(x3) %多元非線性迴歸函式
求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];y=[。。。];
x=[x1 x2 x3];
func=@(a,x)a(1)+a(2)*exp(x:1)+a(3)*exp(x:2)+a(4)*exp(x:3);%自定義函式
x0=[1 1 1]; %初值(根據問題來定)
a=lsqcurvefit(func,x0,x,y) %ai為多元非線性迴歸函式的擬合係數
或 a= nlinfit(x,y,func,x0)
7樓:匿名使用者
你這個是典型的線性規劃問題,可以轉化為:
% 目標函式:maxz=2x1+3x2;
% 約束條件:x2<=12;4x1+2x2<=20;x1+x2<=6;x1,x2>=0;
% z為最大利潤。
fprintf('最大利潤為:\n');
disp(-fval);
fprintf('生產計劃為:\n');
disp(x);結果:
急問用matlab解很長的方程
a 3 solve a x 3 0 x 得到的結果是 ans 3 a也就是說,solve裡面將a當成符號,而沒有把你a 3代入。試著改成 subs solve a x 3 0 x 就得到ans 1的結果了。你的問題也可以這樣弄。solve再加一個subs 另外你也可以自己將方程中的變數先將值代入,然...
幫解數學2題用一元一次解
1 設原價為x元,則由題意可列出,0.8x 1200 1200x14 所以x 1710元 2 設爺爺贏了x盤,則孫子贏了 12 x 盤由題可得1x 3 12 x 所以x 9 即爺爺贏了9盤,孫子贏了3盤。看的懂吧 希望能幫到你哈 1.設原售價x元 0.8x 1.14 1200 x 1710 該照相機...
一些生物學現象可以用數學模型表示下列對各曲線所表達的生物學
人成熟紅細 抄胞中沒有襲線粒體,只能進行無氧呼吸,bai所以atp生成速率與du氧氣濃度無關,正確 zhi 溫室中白dao天隨著光合作用的進行,二氧化碳濃度不斷降低,當光合速率小於呼吸速率及夜間時,二氧化碳濃度不斷升高 當12點時,光合速率大於呼吸速率,二氧化碳濃度應該降低,故乙圖不能表示溫室中一天...