Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 10
1
Matlab 2017

Построение графика функции по точкам

25.12.2018, 03:04. Показов 1648. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!
И снова проблема с графиком, но на этот раз серьезнее...
Объясняю суть задачи.
У меня есть уравнение и все дано, кроме t и U (написал в коде (1)). Из данного уравнения мне нужно получить одно решение из нескольких, которое ближе всего к предыдущей точке. Начальная (предыдущая) точка задается n=0, от нее мы начинаем искать ближнее решение.
Моя цель в данном случае осуществить кусок программы, который построил бы зависимость U от t по точкам (U;t), которые формируются так:
t увеличивается шагом с каждым разом (в цикле);
U каждый раз ищется так: с помощью функции fzero в окрестности точки 0 ищем первое ближайшее решение, а вот во второй и последующий разы необходимо найти U уже от получившегося значения n(i) в предыдущем случае. В примере (2) я написал, что мне нужно, но это должно быть циклом, а я не могу понять, как это сделать. То есть получившееся n нужно как-то сохранить и в следующий раз подставить в fzero(...,n). И вот из всех таких получившихся точек мне надо нарисовать график. Как-то так.
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
(1)
Imax = 0.0037;
Umax = 0.1;
Imin = 0.0005;
Umin = 0.2;
U0 = 2;
A = 2;
f = 5;
R = 1000;
t0 = 0;
t1 = 1;
Uvd = animatedline(handles.Uvd_t);
tdt = t0;
n = 0;
while tdt<t1
    f = @(Uvd1)(U0+A.*cos(2.*pi.*f.*tdt)-Uvd1)/R-(Imax.*(Uvd1/(Umax)).*exp(1-(Uvd1/(Umax)))+Imin.*exp(2.*(Uvd1-(Umin)))+(10^(-10)).*exp(40.*Uvd1));
    addpoints(Uvd,tdt,fzero(f,n));
    tdt=tdt+0.0001;
    ...???
end
 
(2)
addpoints(Uvd,tdt,fzero(f,n));
tdt=tdt+0.0001;
n1 = fzero(f,n);
addpoints(Uvd,tdt,fzero(f,n1));
tdt=tdt+0.0001;
n2 = fzero(f,n1);
addpoints(Uvd,tdt,fzero(f,n2));
tdt=tdt+0.0001;
n3 = fzero(f,n2);
%и так далее... но сделать нужно все в цикле
Подскажите, как можно такое провернуть. Ну никак не могу додуматься. Большое спасибо заранее за помощь!

Добавлено через 2 часа 20 минут
Хотел сделать такой цикл, но он не работает. Просчитывает n до конца и все, а дальше в цикл по кругу почему-то получившееся значение не идет(
Matlab M
1
2
3
4
5
6
7
8
9
Uvd = animatedline(handles.Uvd_t);
tdt = t0;
n = 0;
while tdt<t1
    f = @(Uvd1)(U0+A.*cos(2.*pi.*f.*tdt)-Uvd1)/R-(Imax.*(Uvd1/(Umax)).*exp(1-(Uvd1/(Umax)))+Imin.*exp(2.*(Uvd1-(Umin)))+(10^(-10)).*exp(40.*Uvd1));
    addpoints(Uvd,tdt,fzero(f,n));
    n = fzero(f,n);
    tdt=tdt+0.0001;
end
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2018, 03:04
Ответы с готовыми решениями:

Построение 3д графика по 3 точкам и матрице
Здравствуйте! возникла необходимость построить 3д график. У меня дано только матрица(3х11) и три...

Построение трёхмерного графика по точкам
Здравствуйте, помогите пожалуйста, matlab недавно установил, мало чего понимаю.... нужно построить...

Построение графика по трем точкам
Коллеги, добрый вечер. Просьба подсказать. Есть файл с данными вида: Или 3 файла раздельных...

написать программу в (matlab) M-file для построения графика функции y=((1+x)*(x^2+2*x-2))^(1/3) по 3м любым точкам(x)
Здравствуйте, помогите пожалуйста. Нужно написать программу в (matlab) M-file для построения...

1
1283 / 914 / 446
Регистрация: 21.10.2012
Сообщений: 2,589
25.12.2018, 11:08 2
Лучший ответ Сообщение было отмечено Singer5278 как решение

Решение

Singer5278, может так:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
Uvd = animatedline(handles.Uvd_t);
tdt = t0;
n = 0;
i = 1;
while tdt<t1
    f = @(Uvd1)(U0+A.*cos(2.*pi.*f.*tdt)-Uvd1)/R-(Imax.*(Uvd1/(Umax)).*exp(1-(Uvd1/(Umax)))+Imin.*exp(2.*(Uvd1-(Umin)))+(10^(-10)).*exp(40.*Uvd1));
    addpoints(Uvd,tdt,fzero(f,n(i)));
    n(i+1) = fzero(f,n(i));
    tdt=tdt+0.0001;
    i = i + 1;
end
1
25.12.2018, 11:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2018, 11:08
Помогаю со студенческими работами здесь

Построение графика функции с помощью функции fplot
В одном графическом окне создать 2 подобласти, в которых c помощью функции fplot построить графики...

Построение графика функции
здравствуйте. подскажите пожалуйста, как это решить? моё решение: &gt;&gt; t=0:0.25:10; &gt;&gt;...

Построение графика функции
Здравствуйте! Не понимаю, почему не строится часть функции? clc; x = -5:0.1:5; y =...

Построение графика функции
Здравствуйте. Необходимо построить график функции (закон повторного логарифма) y = sqrt(...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru