Горе программист в MATLAB из MATHCAD(

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Родился
Сообщения: 9
Зарегистрирован: Чт мар 11, 2021 05:07:30

Сообщение mrvarkaus »

Приветствую всех. Имеется программа в маткаде, которую нужно перевести в матлаб. Пытался использовать команды как в маткаде , вроде они и матлабе загораются.Но при первом же запуске для проверки выбивает ошибку.
Фото1 исходные данные.
https://prnt.sc/10k0ykp
Фото2 исходные данные.
https://prnt.sc/10k0zve
Фото3 то, что выбило вначале.
https://prnt.sc/10k10dr


подскажите пожалуйста как сделать?
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Очевидно, для начала надо выучить матлаб и оформить все выражения как функции.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Родился
Сообщения: 9
Зарегистрирован: Чт мар 11, 2021 05:07:30

Сообщение mrvarkaus »

Eddy_Em, сможете пример показать как начать хотя бы для 1-2 условий x1(t)?
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

mrvarkaus, элементарно:

Код: Выделить всё


  cat x1.m 
function xout = x1(t)
    T=0.4; T1=0.1; T2=0.12; T3=0.05; T4=0.06; T5=0.035; T6=0.035; a1=-0.6; a2=0.5;
    if(0 <= t && t <= T1)
        xout = t/T1;
        return;
    endif
    T12 = T1 + T2;
    if(T1 < t && t <= T12)
        xout = (1 - a1)/(-T2)*(t - (T12 - a1*T1)/(1-a1));
        return;
    endif
    % etc
endfunction
Потом

Код: Выделить всё

val=[диапазон данных];
o=[]; for n=1:size(val,2); o = [o x1(val(n))]; endfor
plot(val, o);
Еще правильней в функции будет сделать if.. else if.. ... endif, чтобы не плодить эти ретурны.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 9
Зарегистрирован: Чт мар 11, 2021 05:07:30

Сообщение mrvarkaus »

Eddy_Em, Спасибо большое, буду копаться, а какую литературу посоветуете?
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

mrvarkaus, было бы значительно лучше, если бы вы сформулировали, что вам требуется от программы. Поставили техзадачу, другими словами, без привязки к исходной программе в MATCAD. И без картинок. Они всё равно не грузятся.

Из литературы Половко А.М., Бутусов П.Н. - MATLAB для студента [2005], например. Сам не читал, но когда учился советовали. У меня где-то ещё краткий справочник по инструкциям валялся на компе, когда начинал очень полезная вещь была. Если найду — выложу.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

А я уже и не помню, что читал по матлабу. Потому что это было лет 20 назад. А лет 10 назад я полностью перешел на свободное ПО, а матлаб заменил октавой. Крайне советую сделать аналогично. Сэкономите бешеную уйму денег.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Ответить

Вернуться в «Теория»