首页 > 电脑

vb调用matlab的代码有什么问题,求大神指导

更新时间2018-07-26 08:04:36

Dim matlab As Object
Dim result As String
Dim q As String
Set matlab = CreateObject("Matlab.application")

matlab.Execute (Textdiaoyong.Text)
matlab.Execute ("X=(xmax-xmin)/6;Y=(ymax - ymin )/ 4;")
matlab.Execute ("for i=1:5")
matlab.Execute ("m=ymin + (i-1) * Y; m = roundn(m, -3);a = 1000 * m - (floor(100 * m)) * 10;")
matlab.Execute (" if a==5||a==0")
matlab.Execute ("y =m;elseif a > 2.5||a < 7.5")
matlab.Execute ("a=5;y =floor(m + (floor(10 * m) - (floor(m) * 10)) / 10 + (floor(100 * m) - (floor(10 * m) * 10)) / 100 + a / 1000;")
matlab.Execute ("elseif a > 7.5")
matlab.Execute ("a =0;y =floor(m) + (floor(10 * m) - (floor(m) * 10)) / 10 + ((floor(100 * m) - (floor(10 * m) * 10)) + 1) / 100 + a / 1000;")
matlab.Execute ("elseif a < 2.5")
matlab.Execute ("a =0;y =floor(m) + (floor(10 * m) - (floor(m) * 10)) / 10 + (floor(100 * m) - (floor(10 * m) * 10)) / 100 + a (i,j)/ 1000;End")
matlab.Execute (" for j=1:7")

matlab.Execute (" n = xmin + (j- 1) * X;n = roundn(n, -3);b = 1000 * n - (floor(100 * n)) * 10;")
matlab.Execute ("if b == 5 || b ==0")
matlab.Execute ("x=n;elseif b > 2.5 || b < 7.5")
matlab.Execute ("b = 5;x= floor(n) + (floor(10 * n) - (floor(n) * 10)) / 10 + (floor(100 * n) - (floor(10 * n) * 10)) / 100 + b/ 1000;")
matlab.Execute ("elseif b > 7.5")
matlab.Execute ("b= 0;x= floor(n) + (floor(10 * n) - (floor(n) * 10)) / 10 + ((floor(100 * n) - (floor(10 * n) * 10)) + 1) / 100 + b / 1000;")
matlab.Execute ("elseif b < 2.5")
matlab.Execute ("b = 0;x = floor(n) + (floor(10 * n) - (floor(n) * 10)) / 10 + (floor(100 * n) - (floor(10 * n) * 10)) / 100 + b / 1000;")
matlab.Execute ("End")
matlab.Execute ("q(i,j)=solve('x+y+z=2','z');")
matlab.Execute (" End")
matlab.Execute ("End")
Textq(11).Text = matlab.Execute("q(1,1)")

发现的错误如下:

1. xmax、xmin、ymax、ymin四个变量必须有初值

2. matlab.Execute ("a=5;y =floor(m + (floor(10 * m) - (floor(m) * 10)) / 10 + (floor(100 * m) - (floor(10 * m) * 10)) / 100 + a / 1000;")中的floor(m少了一个括号,应改为floor(m)

3. 所有的End应改为end

4. a不是矩阵,不应该有a(i,j)

相关标签:大神matlab

上一篇:哪种markdown编辑器可以实现如下代码块效果

下一篇:图片问题急···