声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1200|回复: 4

[已解决]一个vb 与matlab 的小问题,但是好久都做不出,请教各位~

[复制链接]
发表于 2006-6-6 16:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>小弟初学,请教各位一个问题.<br>我的 .M文件如下:<br><br>function [z]=myfun2(x)<br>L = [38.8263, 35.4687, 25.9806]<br>M = [0.0014, 15.7895, 28.8524]<br>N= [ -2.0010, -2.9670, -3.9326]<br>z= 0;<br>for k= 1:30<br>r(k)=(sqrt((L(k)-x(3)*N(k)-x(1)).^2+(M(k)-x(4)*N(k)-x(2)).^2)-x(5)).^2<br>z= z+r(k)<br>end<br>在matlab 中执行的命令是 :<br>x0=[0,0,1,1,38.00];<br>[x, fval, exitflag, output]= fminunc(@myfun2, x0)<br>这是个优化问题,我本来打算在vb中直接编程实现,可是做得不好,现在打算用matlab与vb 的接口完成这个问题,如果用comtool 的话 ,到VB 里怎样继续做呢?<br>请各位指点一下!</P>
[此贴子已经被作者于2006-6-20 10:36:32编辑过]

回复
分享到:

使用道具 举报

发表于 2006-6-7 09:21 | 显示全部楼层

回复:(mhl516)[求助]一个vb 与matlab 的小问题,但是...

vb调用matlab的com组件前面很多了,自己找一下<BR>如果有问题在问
 楼主| 发表于 2006-6-7 09:36 | 显示全部楼层
<P>我找找看 </P>
 楼主| 发表于 2006-6-7 09:40 | 显示全部楼层
<P>Private Sub Command1_Click()<br>L = Array(38.8263, 35.4687, 25.9806, 11.9948, -4.0615, -19.4158, -31.4083, -37.9757, -37.9629, -31.408, -19.4108, -4.0573, 11.9961, 25.9829, 35.4653, 38.823, 35.4619, 25.9784, 11.9957, -4.0606, -19.4149, -31.4044, -37.9785, -37.9743, -31.4093, -19.4135, -4.0569, 11.9971, 25.9795, 35.4636)<br><br>M = Array(0.0014, 15.7895, 28.8524, 36.9273, 38.6135, 33.6208, 22.8189, 8.0678, -8.0705, -22.8217, -33.6211, -38.6107, -36.926, -28.8503, -15.7902, -0.0005, 15.7852, 28.8491, 36.9245, 38.6123, 33.6212, 22.8174, 8.0687, -8.0721, -22.8214, -33.6248, -38.6129, -36.9251, -28.8459, -15.7876)<br><br>N = Array(-2.001, -2.967, -3.9326, -4.8979, -5.863, -6.8282, -7.7937, -8.7601, -9.7259, -10.6904, -11.6543, -12.6209, -13.5862, -14.5507, -15.5175, -16.4838, -17.4502, -18.4149, -19.3811, -20.3463, -21.3115, -22.2779, -23.2418, -24.2071, -25.1726, -26.1366, -27.1026, -28.069, -29.036, -30.0008)<br><br><br>Dim x0(4) As Double<br>z = 0<br>Dim r() As Double<br><br>For k = 1 To 30<br>r(k) = power(minus(msqrt(power(minus(minus(L(k) - x0(1)) - times(x0(3), N(k))), 2), power(minus(minus(M(k) - x0(2)) - times(x0(4), N(k))), 2)), x0(5)), 2)<br>z = plus(z, r(k))<br>Next<br>x0 = Array(0, 0, 1, 1, 38#)'???????????????<br><FONT color=#ff0000>x = fminu(f, x0, Options, g)</FONT></P>
<P>End Sub<br>这个是用引用MATRIXVB 编的程序,为什么vb 提示我说fminu找不到呢,而且在matlab里命令行输入的<br>x0=[0,0,1,1,38.00];到vb里怎么处理啊?</P>
[此贴子已经被作者于2006-6-7 15:13:45编辑过]

 楼主| 发表于 2006-6-7 15:06 | 显示全部楼层
<P>有懂matrixvb的请帮帮忙吧,弄了好多天,愁死了</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 20:52 , Processed in 0.056672 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表