簡體   English   中英

使用定義的函數的MATLAB 3D圖

[英]MATLAB 3D plot using a defined function

我在一個單獨的文件中定義了一個函數,該函數需要七個參數並輸出一個值。 我想創建一個3D圖,該圖將隨着兩個參數的變化而變化,我真的對如何做到這一點感到困惑。

所以說我的函數是用Ruth(a,b,c,d,e,f)調用的,我希望cf是固定的,並根據a和b的值繪制輸出值。 有人可以指導我嗎? 將不勝感激。

提前致謝!

使用meshgrid生成您感興趣的a和b范圍內的點的網格。然后在每個(a,b)點對中評估函數,形成2D矩陣。 然后使用meshsurf對a,b自變量繪制矩陣。 這是一個具有非常簡單功能的示例:

function out = myfunc(a,b,c)
out = c + a.*b;

[a,b] = meshgrid(-50:50, -50:50);
c = 10;
z = myfunc(a, b, c);
mesh(a, b, z);

請注意,就我而言,我已將函數編寫為“向量化”,這意味着它將接受向量或輸入數組並在整個數組上進行操作。 如果不是,則必須使用在a和b上的嵌套循環來評估函數,如下所示:

z = zeros(size(a));
for ii=1:size(a,1)
    for jj=1:size(a,2)
        z(ii,jj) = Ruth(a(ii,jj), b(ii,jj), c, d, e, f);
    end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM