Программирование - это просто
Advertisement
Главная arrow Разное arrow Хитрости и секреты arrow Scilab для чайников. arrow Scilab для чайников. Урок 3. Решение многочлена
20.09.2017 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Scilab для чайников. Урок 3. Решение многочлена Печать E-mail
Автор megabax   
12.09.2017 г.
New Page 1

Scilab для чайников. Урок 3. Решение многочлена

На уроках Scilab для чайников. Урок 1. Начало работы и Scilab для чайников. Урок 2. Основы языка Scilab мы рассмотрели основы работы с пакетом Scilab, познакомились с типами данных, основами арифметических вычислений, научились строить графики писать простенькие программы под Scilab. Теперь попробуем решать на Scilab практические задачи. Например, решать уравнения. Начнем с квадратных уравнений. Пусть нам надо, например, решить вот такое уравнение:

Scilab для чайников. Урок 3. Решение многочлена

Для этого сначала зададим многочлен: W=%z^2-2*%z-3. Запись %z - обозначает неизвестную, а вот такое значок ^ - возведение в степень. Для поиска корней используем функцию roots:

Scilab для чайников. Урок 3. Решение многочлена

Можно решать и кубические уравнения:


Scilab для чайников. Урок 3. Решение многочлена

К сожалению, таким образом вы можете решать только уравнения с многочленами целых степеней. Например, если вы попытаетесь задать многочлен в виде функции от %z или в виде квадратного корня, то будет выдано сообщение об ошибке:

Scilab для чайников. Урок 3. Решение многочлена

Хотя синус и квадратный корень вы можете вычислить от известного значения:

Scilab для чайников. Урок 3. Решение многочлена

Попробуем теперь вычислить значение заданного многочлена на заданном промежутке с заданным шагом. Для этого нам потеряется задать массив аргументов функции. На уроке Scilab для чайников. Урок 1. Начало работы  мы задавали массив в виде <Переменная>=<Начало>:<Конец>. Такой вид записи задает массив с шагом 1. Если нам надо задать с другим шагом, то надо написать <Переменная>=<Начало>:<Шаг>:<Конец>, например вот так:

Scilab для чайников. Урок 3. Решение многочлена

Теперь при помощи функции horner вычислим знания заданного многочлена:

Scilab для чайников. Урок 3. Решение многочлена

Теперь попробуем вывести эти значения на график. На уроке Scilab для чайников. Урок 1. Начало работы мы уже работали с графиками. Сегодня разберем еще несколько графических функций. Функция subplot(<придуманный ИД окна>) задает подграфик и открывает графическое окно, например:

Scilab для чайников. Урок 3. Решение многочлена

При этом у нас откреотся чистое графическое окно:

Функцией xtitle можно задать заголовок:

Scilab для чайников. Урок 3. Решение многочлена

Scilab для чайников. Урок 3. Решение многочлена

командой xgrid() задаем сетку, а командой plot() строим график:

Scilab для чайников. Урок 3. Решение многочлена

И получаем результат:

Scilab для чайников. Урок 3. Решение многочлена

Разумеется, все это можно сделать и в виде программы.

А сейчас мы разместим в графическом окне два графика, на одном график нашей функции, а на другом - ее корни (решение многочлена). Для этого воспольуеся вот такой программой:

W=%z^3-7*%z^2+7*%z+15;

x=0:0.5:4;

s=roots(W);

y=horner(W,x);

subplot(121);

xtitle("График функции");

xgrid();

plot(x,y);

subplot(122);

xtitle("Решение многочлена");

xgrid();

plot(real(s),imag(s),"*");

И вот результат ее работы:

Scilab для чайников. Урок 3. Решение многочлена

Мы можем поменять диапазон первого графика, написав, например, x=-2:0.5:6 и убедиться, у нашего многочлена действительно три корня:

Scilab для чайников. Урок 3. Решение многочлена

У вас может возникнуть вопрос а что такое real и imag? Дело в том, что в качестве решения многочлена могут быть и комплексные корни. В нашем случае, правда, решение лежит в области вещественных чисел, но если решение комплексное, то на графике это тоже будет показано: aeyrwbz куфд - выделяет вещественную часть, imag - мнимую.

Последнее обновление ( 12.09.2017 г. )
 
Пред. »
 
© 2017 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше