Вычисление функций от матриц

ЛЕКЦИЯ 4

Элементы программирования в среде MATLAB

Типы М-файлов.

Как уже отмечалось выше, М-файлы бывают двух типов. Вычисления в среде MATLAB возможны в текстовых файлах с расширением .m :

1. файл-программы (script m-files) – последовательность команд, оформленная в виде файла с именем и расширением .m .

2. файл-функции (function m-files) – файл, в котором описываются функции, определяемые пользователем. Файл-функции могут принимать исходные данные в виде набора входных параметров и выдавать результаты. Файл-функция всегда должна состоять из следующих частей:

· заголовок функции: включает объявление function, уникальное имя функции, список входных и выходных параметров;

· тело функции: состоит из инструкций MATLAB.

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

Структура функции с несколькими выходными параметрами имеет вид:

function[y1,y2,…,yn]=имя_функции(список входных параметров)

% комментарий

y1 = выражение

y2 = выражение

...

yn = выражение

Вызов такой функции выполняется следующим образом:

[y1,y2,…,yn]=имя_функции(список входных параметров)

Иногда при написании файл-функций требуется создание так называемых подфункций, в которых выполняются промежуточные вычисления. Они записываются в теле основных функций и имеют аналогичный им синтаксис. Эти подфункции являются локальными или могут выполняться только в пределах основной файл-функции. Файл-функция может включать одну или несколько подфункций.

Пример 1.5. Задача об изгибе консоли (задача Коши)

Определить прогиб консоли (решить задачу Коши) методом Эйлера.

Вычисление функций от матриц - student2.ru

Варианты задания.

Вычисление функций от матриц - student2.ru – изгибающие моменты в балке;

Вычисление функций от матриц - student2.ru – жесткость балки; Вычисление функций от матриц - student2.ru – числовой параметр,

Вычисление функций от матриц - student2.ru – длина балки; Вычисление функций от матриц - student2.ru – номер группы, Вычисление функций от матриц - student2.ru – номер студента по журналу.

Принять для расчета на ЭВМ число точек Вычисление функций от матриц - student2.ru , для ручного счета – Вычисление функций от матриц - student2.ru .

Пример соответствующей M-функции (ниже задано Вычисление функций от матриц - student2.ru , Вычисление функций от матриц - student2.ru ):

function consol dl=input('введите dl='); N=input('введите N='); x0=input('введите x0='); y0=input('введите y0='); z0=input('введите z0='); dl,N,x0,y0,z0 h=dl/N G=3;S=12; c=0.02*(G+S); disp(' x y z'); d=zeros(N+1,3); d1=zeros(N+1,1); d2=zeros(N+1,1); d3=zeros(N+1,1); for i=1:N+1 d1(i)=x0; d2(i)=y0; d3(i)=z0; z=z0+h*f(x0,z0,c); y=y0+h*(z0+z)/2; x0=x0+h; z0=z; y0=y; end d=[d1 d2 d3]; disp(d);   function y=f(x,z,c) y=c*M(x,c)*sqrt((1+z^2)^3);   function u=M(x,c) u=1/sqrt((1+(c*x)^2)^3);

Результаты расчета:

введите dl 1

введите N 10

введите x0 0

введите y0 0

введите z0 0

dl =

N =

x0 =

y0 =

z0 =

h =

0.1000

x y z

0 0 0

0.1000 0.0015 0.0300

0.2000 0.0060 0.0600

0.3000 0.0135 0.0900

0.4000 0.0240 0.1200

0.5000 0.0375 0.1500

0.6000 0.0540 0.1800

0.7000 0.0735 0.2100

0.8000 0.0960 0.2400

0.9000 0.1215 0.2700

1.0000 0.1500 0.3000

Вычисление функций от матриц

Наши рекомендации