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

Не выводится график

07.03.2016, 21:14. Показов 5660. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Помогите пожалуйста решить проблему, график не выводится( Я что-то не так делаю?

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
clear, clc
h = 0.1; % шаг
a = -5; % нижний предел
b = 5; % верхний предел
p = 2.5;
eps1 = 2.71;
eps2 = 0.8;
q = 1.5;
w = 0.1;
% функция системы:
dsys = @(x,y)[1/q((1-q/p*ln(1+p*x)-(w-1)*(y^3-1)/eps2)*exp(x/(1+p*x))-eps1*y*x*(1+p*x))];
x = a:h:b;
 
y = zeros(size(x));
for j=1:length(x)-1
    k1=h*dsys(x(j), y(j));
    k2=h*dsys(X(j)+h/2,Y(j)+k1(1)/2);
    k3=h*dsys(X(j)+h/2,Y(j)+k2(1)/2);
    k4=h*dsys(X(j)+h,Y(j)+k3(1));
    dU = (k1+2*k2+2*k3+k4)/6;
    y(j+1)=y(j) + dU;
end 
 
plot(x,y);
legend('y(x)');
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2016, 21:14
Ответы с готовыми решениями:

Не выводится график
hold on grid on for x=-5:0.01:-3 y=sin(3.*x)-tan(x); plot(x,y); end for x=-1:0.01:-3 ...

Двумерный график - ошибок нет, но график не выводится
Не получается вывести графики,но I(u) должен идти через 0 и постепенно по экспоненте расти до 1....

Не выводится график
Добрый вечер, подскажите в чем проблема. Две функции в коде идут подряд, однако ни одна из них не...

Не выводится график
не выводит график не пойму в чем проблема

5
6941 / 4976 / 2102
Регистрация: 02.02.2014
Сообщений: 13,223
07.03.2016, 21:31 2
скобки исправить и ln заменить на log
а также перепроверить формулу, т.к. после первого q неизвестно, какой должен быть знак, я поставила умножение (наобум) ..
Matlab M
1
dsys = @(x,y)(1/q*((1-q/p*log(1+p*x)-(w-1)*(y^3-1)/eps2)*exp(x/(1+p*x))-eps1*y*x*(1+p*x)));
а также надо учитывать, что матлаб различает регистры, т.е. x и X - разные переменные
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 22
08.03.2016, 10:19  [ТС] 3
Помогите пожалуйста исправить ошибки и как сделать так, чтобы 2 графика в одном окне графическом отображались?
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
clear, clc
h = 0.1; % шаг
a = -1; % нижний предел
b = 1.5; % верхний предел
p = 2.5;%beta
eps1 = 2.71;
eps2 = 0.8;
q = 1.5;%gama
w = 0.1;%psi
% функция системы:
dsys = @(x,y)(((1-(w-1)*(y^3-1)/eps2)*exp(x)-eps1*y*x));
x = a:h:b;
 
y = zeros(size(x));
for j=1:length(x)-1
    k1=h*dsys(x(j), y(j));
    k2=h*dsys(x(j)+h/2,y(j)+k1(1)/2);
    k3=h*dsys(x(j)+h/2,y(j)+k2(1)/2);
    k4=h*dsys(x(j)+h,y(j)+k3(1));
    dU = (k1+2*k2+2*k3+k4)/6;
    y(j+1)=y(j) + dU;
end 
 
function z = myfun(X, Y)
p = 2.5;
eps1 = 2.71;
eps2 = 0.8;
q = 1.5;
w = 0.1;
z = (1 + (w - 1.0) * (1 - Y^3) / eps2) * exp(X / (1 + p * X))...
    - eps1 * Y * X * (1 + p * X);
end
 
ezplot(@(x,y)myfun(x,y), [-1,1.5,-1,1]);
plot(x,y);
legend('y(x)');
0
59 / 59 / 13
Регистрация: 01.03.2016
Сообщений: 142
09.03.2016, 13:23 4
Если все в одном файле тогда так:
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
function main
clear, clc
h = 0.1; % шаг
a = -1; % нижний предел
b = 1.5; % верхний предел
p = 2.5;%beta
eps1 = 2.71;
eps2 = 0.8;
q = 1.5;%gama
w = 0.1;%psi
% функция системы:
dsys = @(x,y)(((1-(w-1)*(y^3-1)/eps2)*exp(x)-eps1*y*x));
x = a:h:b;
 
y = zeros(size(x));
for j=1:length(x)-1
    k1=h*dsys(x(j), y(j));
    k2=h*dsys(x(j)+h/2,y(j)+k1(1)/2);
    k3=h*dsys(x(j)+h/2,y(j)+k2(1)/2);
    k4=h*dsys(x(j)+h,y(j)+k3(1));
    dU = (k1+2*k2+2*k3+k4)/6;
    y(j+1)=y(j) + dU;
end 
figure
subplot(2,1,1);
ezplot(@(x,y)myfun(x,y), [-1,1.5,-1,1]);
subplot(2,1,2);
plot(x,y);
legend('y(x)');
 
function z = myfun(X,Y)
p = 2.5;
eps1 = 2.71;
eps2 = 0.8;
q = 1.5;
w = 0.1;
z = (1 + (w - 1.0) * (1 - Y.^3) / eps2).* exp(X ./ (1 + p * X))...
    - eps1*Y.* X.* (1 + p * X);
Ознакомьтесь с темой во избежание дальнейших ошибок при работе с векторами СЕКРЕТНО! Зловещая точка претыкания
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 22
15.03.2016, 19:16  [ТС] 5
Спасибо, но не подскажете как в решении myfun увеличить точность, чтобы не было разрыва.
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
16.03.2016, 13:19 6
при х=-0.4 знаменатель равен 0, а exp() от + и - бесконечности сильно отличаются, поэтому разрыв
1
16.03.2016, 13:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2016, 13:19
Помогаю со студенческими работами здесь

График выводится некорректно
Здравствуйте. возникла проблема с MathCAD: почему-то график не хочет строится, хотя все, на мой...

Ошибка, не выводится график
Я тут совсем полный ноль а нужно еще поэтому примеру свою схему сделать код я потом напишу только...

Не выводится график поверхности
подскажите пожалуйста как построить поверхность

График функции не выводится
restart; p := proc (n) local k, r; r := 0; for k from 1 to n do r := r+k end do; return...

Mathcad Prime2.0 - не выводится график
Пытаюсь построить график. ничего толоквого не выходит. В эксел построил. сверяю с этим...не...

Scilab. Почему не выводится график (прога внутри)
Программа полностью из учебника. Должна выводить график, но почему-то не выводит ничего. Помогите...


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

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