Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для meraxujiep
43 / 44 / 4
Регистрация: 31.01.2013
Сообщений: 196

Входной и выходной массив финкции и построение графика

18.12.2013, 07:59. Показов 2200. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например вводится сигнал 3*х-10. создается два массива х1(i) и х2(i). Затем нужно передать массив x2(i) в функцию, там выполнить действия с этим массивом и получить на выходе массив. Затем построить графики с использованием этих массивов :
Matlab M
1
plot(x1,"выходной массив") и plot(x2,"выходной массив")
формирование массивов х1,х2:
Matlab M
1
2
3
4
5
6
7
8
9
10
syms x;
t=input('Введите сигнал: ');
fun1=matlabFunction(t);
shag=0.0001;
j=1;
for i=q1:shag:q2
x1(j)=i;
x2(j)=fun1(x1(j));
j=j+1;
end
Нашел инфу, что вроде для моих целей подойдет использование varargin и varargout, но не понял как обращаться к элементам и формировать выходной массив. Вот например мне нужно найти приращение
Matlab M
1
2
3
4
5
6
7
8
function [varargout]=h(b1,b2,c,j,varargin)
for i=1:j
dif=varargin{i+1}-varargin{i};
.
.
.
varargout{i}=f;
end
И как использовать выходной массив для построения графика? plot(x1,h) так? функция вернет же массив, размерность должна совпасть с х1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2013, 07:59
Ответы с готовыми решениями:

Входной и выходной сигнал
Здравствуйте, ув. Форумчане :) Была поставлена задача "Разработка программы моделирования линейного элемента с насыщением". ...

Построение графика в Matlab в GUI, используя загруженный массив
Всем доброго времени суток! I need help! Если подробно: 1) есть текстовый файл с набором следующих чисел: -0.270 -0.270 ...

Построение графика производной для каждого графика из 3 режимов
Дорогие друзья, прошу помочь доделать три программы. В каждой программе выводится по одному графику и нужно чтобы каждая программа выводила...

2
 Аватар для lomt
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
18.12.2013, 10:57
Я не очень понял, а зачем в коде используется MatlabFunction???
Цель, используя функцию, один массив как-то менять, а потом пользоваться им на выходе и строить графики?
0
 Аватар для meraxujiep
43 / 44 / 4
Регистрация: 31.01.2013
Сообщений: 196
18.12.2013, 11:17  [ТС]
Задание построить график выхода нелинейного элемента при подаче на вход сигнала например х^2,sin(x) и т.п.

Решение найдено, но не совсем верно выполнена реализация. Мне теперь нужно, чтобы вычисление знака производной(18 строчка nelineynost.m) выполнялось в hysteresis.m и там же создавался массив выходного сигнала. А на вход функции hysteresis.m подается массив x2(j)-массив входных значений и еще пара аргументов. Ну а затем построить график используя известные массивы х1,х2 и массив который вернет функция hysteresis.m

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function nelineynost
disp('Для вывода графика F(sin(x)) и входного сигнала введите 1 ');
disp('Для вывода графика F(x) и входного сигнала введите 2 ');
n=input('Ваш выбоp:');
q1=input('Введите левую границу интервала: ');
q2=input('Введите правую границу интервала: ');
shag=input('Введите шаг построения: ');
disp('Введите параметры нелинейного элемента a и b (0<a<b)');
b1=input('Введите a ');
b2=input('Введите b ');
c=input('Введите значение ограничения |c| ');
syms x;
t=input('Введите сигнал: ');
fun1=matlabFunction(t);
j=1;
 
for i=q1:shag:q2
dif=fun1(i)-fun1(i-shag/10.^3);
x1(j)=i;
x2(j)=fun1(x1(j));
y(j)=hysteresis(x2(j),b1,b2,c,dif);
j=j+1;
end
 
switch n        
    case 1
        plot(x2,y,'-b',x1,x2,':r')
        title('График нелинейности'); 
        xlabel('Время, с');
        ylabel('Амплитуда'); 
        legend('F(sinx)','входной сигнал');
        grid on; 
    case 2
        plot(x1,y,'-b',x1,x2,':r')
        title('График нелинейности'); 
        xlabel('Время, с'); 
        ylabel('Амплитуда'); 
        legend('F(x)','входной сигнал'); 
        grid on; 
    otherwise
        disp('miss');
end
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function f=hysteresis(x,b1,b2,c,flag1)
if (flag1>0)                % Проверка условия производная больше нуля
    if (x<=-b1)             % Значение входного сигнал для нелинейности 
                            % меньше или равно b1
        f=-c;               % Вернуть значение -с
    elseif and(x>-b1, x<b2) % Значение входного сигнал для нелинейности 
                            % лежит в интервале [-b1;b2]
        f=0;                % Вернуть значение 0
    elseif (x>=b2)          % Значение входного сигнал для нелинейности
                            % больше или равно b2
        f=c;                % Вернуть с
    end
end
if (flag1<0)                % Проверка условия производная меньше нуля
    if (x>=b1)              % Значение входного сигнал для нелинейности 
                            % больше или равно b1
        f=c;                % Вернуть с
    elseif and(x>-b2,x<b1)  % Значение входного сигнал для нелинейности
                            % лежит в интервале [-b2;b1]
        f=0;                % Вернуть 0
    elseif (x<=-b2)         % Значение входного сигнал для нелинейности
                            % меньше или равно -b2
       f=-c;                % Вернуть -с
    end
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2013, 11:17
Помогаю со студенческими работами здесь

Входной и выходной файлы
Сейчас на олимпиадных задачах требуется, что бы данные подавались из файла Input.txt и записывались в выходной файл - output.txt. Как это...

Входной и выходной сигнал RC
Добрый день. Помогите пожалуйста: есть теория документ 1 нужно в MathCAD получить результат фото 1. Как эти формулы правильно записать? ...

Входной/Выходной файл
выдает ошибку &quot;ошибка ввода вывода 103 файл не открыт&quot; вот код program pr; var a,c:text; b:array of integer; i,s,j:integer; ...

Входной и выходной файлы
нужно сделать, чтобы переменная s бралась из файла и чтобы результат программы выводился в отдельный файл имя входного файла -...

Сделать входной и выходной файл
нужно зделать из этой задачи входные файлы и выходные помоите плиз var Form1: TForm1; a:array of integer; b:array of integer; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru