我正在使用Matlab箭来绘制这些微分方程:
我正在使用此代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Sh.Name = ActiveSheet.Name Then Call Wsh_MultipleSelection(Target)
Application.EnableEvents = True
End Sub
Private Sub Wsh_MultipleSelection(ByVal rTrg As Range)
Const kTtl As String = "Selection Across Multiple Sheets"
Const kMsg As String = "You are trying to overwrite cells across multiple sheets." & vbLf & _
"Press [Yes] if you want to continue and overwrite the selected cells" & vbLf & _
"Press [No] if you want to overwrite selected cells in active sheet only" & vbLf & _
"Press [Cancel] to undo last action."
Const kBtt As Long = vbApplicationModal + vbQuestion + vbYesNoCancel + vbDefaultButton3
Dim iResp As Integer
Dim vCllVal As Variant
Dim bWshCnt As Byte
bWshCnt = ActiveWindow.SelectedSheets.Count
If bWshCnt > 1 Then
bWshCnt = -1 + bWshCnt
iResp = MsgBox(kMsg, kBtt, kTtl)
Select Case iResp
Case vbYes
Rem NO ACTION!
Case vbNo:
Rem Select Only Active Sheet
vCllVal = rTrg.Cells(1).Value2
Application.Undo
rTrg.Value = vCllVal
Case Else
Rem Cancel
Application.Undo
End Select: End If
End Sub
我得到了这个fig。我不明白为什么我会得到小箭头,即使x和y稀疏! 我期待像this
这样的东西我的问题:是否有办法(如果可以不使用外部包装)使箭头变大并着色?
提前致谢:)。
答案 0 :(得分:1)
感谢Andras Deak,我们提出了这个解决方案:
[x,y] = meshgrid(0:0.2:2,0:0.2:2);
dx = x.*(1-x-y);
dy = 2*y.*(1-0.5*y-3/2*x);
% Normalization matrix
r = ( dx.^2 + dy.^2 ).^0.5;
figure
quiver(x,y,dx./r,dy./r)