[繪圖] 想請問如何在繪圖中加入限制

看板MATLAB作者 (Vanish)時間7年前 (2017/09/24 17:17), 7年前編輯推噓6(6013)
留言19則, 4人參與, 最新討論串1/1
我想請問一下 如果我今天畫一個3d的圖 例如z=x+y 但我今天想加入一個限制 就是x^2+y^2=1 只有符合這個限制的參數會顯示出來 要怎麼辦到這件事呢? 還有另一個問題就是 我如果要在3d圖中 想在某個平面上例如z=5 畫一個x^2+y^2=1的圓圈 應該怎麼畫呢? 剛剛GOOGLE一下實在不知道怎麼才能查到這些... 先感謝大家了 ----- Sent from JPTT on my Samsung SM-A710Y. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.219.49 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1506244629.A.74A.html

09/24 18:03, , 1F
很多做法 以你的範例最簡單就參數式x=cos(t), y=sin(t)
09/24 18:03, 1F

09/24 18:05, , 2F
z=x+y=cos(t)+sin(t), 0<t<2pi plot3(x,y,z)即可
09/24 18:05, 2F

09/24 18:06, , 3F
z=5上的圓就是(cos(t),sin(t),5) 一樣plot3(x,y,z)
09/24 18:06, 3F
感謝e大我懂了 不過有個疑問如果我今天限制條件很複雜一堆根號指數有的沒的 假如是這種情況除了參數法有其他更快的方法嗎 ※ 編輯: seal46825 (1.200.219.49), 09/24/2017 21:57:15

09/24 22:48, , 4F

09/24 22:48, , 5F
我的限制方程式類似這樣 參數式實在不知怎麼令(汗
09/24 22:48, 5F

09/24 23:00, , 6F
給x一個範圍 代入x數值 然後對每個已知的x用solve解y
09/24 23:00, 6F

09/24 23:00, , 7F
最後再代入x,y算出z
09/24 23:00, 7F

09/24 23:57, , 8F
p大 solve不是要搭配syms使用 但syms有辦法畫3c圖嗎
09/24 23:57, 8F

09/24 23:57, , 9F
後面是不是少打pi,這樣結果會漂亮點
09/24 23:57, 9F

09/25 00:33, , 10F
阿剛剛查了一下才知道如何syms畫3d 感謝p大 這感覺可以
09/25 00:33, 10F

09/25 00:33, , 11F
解決我問題
09/25 00:33, 11F

09/25 00:33, , 12F
然後樓上s大是回錯文嗎 怎麼看不太懂XD
09/25 00:33, 12F

09/25 00:55, , 13F
我是說第二項sin相乘裡的東西是不是少乘pi
09/25 00:55, 13F

09/25 04:23, , 14F
反正就是用數值去掃x 對於每個x的數值可以解出對應的y
09/25 04:23, 14F

09/25 04:23, , 15F
然後就可以算出對應的z 這樣就可以畫了
09/25 04:23, 15F

09/25 04:31, , 16F
還有個做法是不解限制方程式 直接給xy範圍格子點算z
09/25 04:31, 16F

09/25 04:32, , 17F
然後把大於限制式容許誤差對應的z令為nan
09/25 04:32, 17F

09/25 04:57, , 18F
樓上這個方法好像比較好
09/25 04:57, 18F

09/25 05:07, , 19F
不過有時候點可能要切很密 或者容許誤差要給很寬鬆
09/25 05:07, 19F
文章代碼(AID): #1PntWLTA (MATLAB)
文章代碼(AID): #1PntWLTA (MATLAB)