Re: [問題] 用mesh畫圖出不來已回收

看板MATLAB作者 (eji)時間15年前 (2010/10/19 00:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《iverson0303 (monkey)》之銘言: : clear : clc : N5=0:500:5000; : R = 0:0.1:1; : N2=N5*0.1/0.03; : N4=N2-N5; : C21=(N4*0.995+N5*0.01)/N2; : C22=0.97-C21; : N6 = zeros(1,10000); : N6 = R.*N5 : N1=(N2*C21-N6*0.01)/0.2 : N3=N1+N6-N2 : C32=(N1*0.25+N6*0.89-N2*C22)/N3 : C34=(N1*0.15)/N3 : C33=1-C34-C32 : A=[1 1;0.002 0.3] : B=[N3;N3*C34] : T=inv(A)*B : N8=T(1,:) : N9=T(2,:) : C82=N3*C32/N8 : C83=1-0.002-C82 : N10=(N9*0.7)/0.98 : N11=N9-N10 : C41=0.995 : C103=0.98 : if R<= 0.5 & N1 <= 3000 : profit= (4*N2-15*N6).^2-70*(N1).^1.4 : elseif R >= 0.5 & N1 <= 3000 : profit= (10*N2-40*N6).^2-5*(N1).^0.5 : elseif R <= 0.5 & N1 > 3000 : profit= (0.5*N2-N6).^2 - 10*(N1).^1.3 : else R > 0.5 & N1 > 3000 : profit= (N2-10*N6).^2-(N1) : [x,y,z] = meshgrid(N1,R,profit); : mesh(x,y,z) : end : 執行的時候都會跑出這個 : ??? CData must be an M-by-N matrix or M-by-N-by-3 array. : 想請問我已經把profit轉成矩陣了 : 可是還是不行 : 請問有什麼方法嗎 謝謝 法1(不建議): [x,y] = meshgrid(N1,R); z=griddata(N1,R,profit,x,y);%由(N1,R,profit)插值求(x,y,z) mesh(x,y,z) 你原本做的點只有對角線上 所以插值出來會很多nan 法2(建議): [x,y] = meshgrid(N1,R); z直接if判斷求出x,y網格點對應的值 mesh(x,y,z) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.23.138
文章代碼(AID): #1Cl7ACbc (MATLAB)
文章代碼(AID): #1Cl7ACbc (MATLAB)