Проблема с перенесением алгоритмов Matlab в C#
Формулировка задачи:
Здравствуйте.возник такой вопрос нужно алгоритмы с Matlab'a перенести на Visual Studio. нашел тему на хабре ( вот она http://habrahabr.ru/post/132487/ ). Здесь все подробно описывается. пытался все сделать так же,но ничего не получилось, видимо из-за того что я не в 2008 MVS работал, а в 2010. Может кто подскажет что и как нужно изменить в коде чтобы заработало? спасибо.
Решение задачи: «Проблема с перенесением алгоритмов Matlab в C#»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MathWorks.MATLAB.NET.Utility; using MathWorks.MATLAB.NET.Arrays; using MATLABplane; namespace planeApp { public partial class Form1 : Form { public Form1() { InitializeComponent(); button1.Click += new EventHandler(button1_Click);//инициализация событий button2.Click += new EventHandler(button2_Click); } double x0, x1, y0, y1, h; //объявление переменых string func, s_x0, s_x1, s_y0, s_y1, s_h; MWArray[] res = null; //выходной массив метода plane MWNumericArray descriptor = null; //массив возвращаемого параметра private void button1_Click(object sender, EventArgs e)//событие { try { func = textBox1.Text; //считывание с TextBox s_x0 = textBox2.Text; s_x1 = textBox3.Text; s_y0 = textBox4.Text; s_y1 = textBox5.Text; s_h = textBox6.Text; MWCharArray mw_func = new MWCharArray(func);//преобразование строки функции в тип MWCharArray x0 = Convert.ToDouble(s_x0); //преобразоване string в double x1 = Convert.ToDouble(s_x1); y0 = Convert.ToDouble(s_y0); y1 = Convert.ToDouble(s_y1); h = Convert.ToDouble(s_h); planeClass obj_plane = new planeClass(); //экземпляр класса компонента res = obj_plane.plane(1, mw_func, x0, x1, y0, y1, h);//обращение к методу plane, первый параметр - это кол-во возвращаемых аргументов descriptor = (MWNumericArray)res[0]; //выбор первого элемента из массива MWArray и преобразование в числовой тип MWNumericArray double[,] d_descriptor = (double[,])descriptor.ToArray(MWArrayComponent.Real);//преобразование массива MWNUmericArray к масииву типа double for (int i = 0; i < d_descriptor.Length; i++)//вывод массива d_descriptor в RichBox { richTextBox1.Text += i.ToString() + '\t'; richTextBox1.Text += d_descriptor[i, 0].ToString("0.000") + '\n';//преобразование элеметна массива double в string } } catch (Exception ex)//обработка исключения { System.Windows.Forms.MessageBox.Show(ex.Message); } } private void button2_Click(object sender, EventArgs e) { richTextBox1.Text = string.Empty;//очистка RichBox res = null;//обнуление массивов descriptor = null; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д