如何从C#在matlab中执行循环?
这是我的C语言代码。我试图在matlab中执行for循环。我能够发送和接收来自matlab的图像如何从C#在matlab中执行循环?,c#,matlab,image-processing,C#,Matlab,Image Processing,这是我的C语言代码。我试图在matlab中执行for循环。我能够发送和接收来自matlab的图像 matlab.Execute("img_bw = im2bw(img_resize)"); matlab.Execute("input = imclose(img_bw, strel('disk', space));"); matlab.Execute("[labels, num] = bwlabel(input, 8);"); matlab.Execute("output = logical(ze
matlab.Execute("img_bw = im2bw(img_resize)");
matlab.Execute("input = imclose(img_bw, strel('disk', space));");
matlab.Execute("[labels, num] = bwlabel(input, 8);");
matlab.Execute("output = logical(zeros(size(input)));");
matlab.Execute("for i = 1:num ");
matlab.Execute(" [r, c] = find(labels==i)");
matlab.Execute(" x = round(mean(c))");
matlab.Execute(" y = round(mean(r))");
matlab.Execute(" output(y,x) = 1; ");
matlab.Execute("end;");
现在,如果查看“matlab.Execute”(“输出=逻辑(零(大小(输入));”)之后的语句,”,有一个for循环
如何在matlab中成功地执行for循环?我正在使用matalb服务器在matalb上执行matlab命令。也就是说,我在我的电脑上安装了一个matlab。为了做到这一点,您必须将所有内容作为一个字符串传递,每一行用分号分隔。像这样的
matlab.Execute("for i = 1:num; [r, c] = find(labels==i); x = round(mean(c));y = round(mean(r)); output(y,x) = 1; end;");
正如Jensen在他的评论中提到的,您也可以将代码行连接成一个字符串,然后将其传递到
matlab.Execute(codeString)
命令。您不能将整个循环作为一个命令传递吗?使用StringBuilder
构建整个字符串,然后通过Execute()
方法发送一次。