Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/79: Рейтинг темы: голосов - 79, средняя оценка - 4.89
 Аватар для KathrineY
3 / 3 / 1
Регистрация: 20.11.2012
Сообщений: 197

Написать файл-функцию, вычисляющую значение кусочно-заданной функции

11.05.2013, 17:49. Показов 16226. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста что здесь не так?
нужно написать файл-функцию, вычисляющую значение кусочно-заданной функции, и построить ее график.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
function [f] =fun(x)
if x<=-2 
f=x^2-4;
plot(x,f);
elseif (x>-2 && x<=3)
f=3./(x+2);
plot(x,f);
else 
f=cos(x);
plot(x,f);
end
ошибка
??? function [f] = fun(x)

Error: Function definitions are not permitted in this
context.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2013, 17:49
Ответы с готовыми решениями:

Написать файл-функцию для вычисления кусочно-заданной функции
Написать файл-функцию для вычисления кусочно-заданной функции.

Написать файл-функцию, вычисляющую максимальное значение среди диагональных элементов заданной матрицы
Не могу понять как написать эту программу Написать файл-функцию, вычисляющую максимальное значение среди диагональных элементов...

Написать функцию вычисляющую значение по заданной формуле
Собственно сама формула: a=\frac{\sqrt{\left|x+1 \right|}}{\frac{1}{2}+\frac{x^4}{6}}

11
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
13.05.2013, 10:58
Подправил функцию:
(как работать с функциями)
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function f = fun(x)
for i = 1:length(x)
    if x(i)<=-2 
        f(i) = x(i)^2-4;
    elseif (x(i)>-2 && x(i)<=3)
        f(i) = 3/(x(i)+2);
    else
        f(i) = cos(x(i));
    end
end
plot(x,f)
end
И пример использования:
Matlab M
1
2
x = -5:0.01:5;
fun(x);
1
 Аватар для KathrineY
3 / 3 / 1
Регистрация: 20.11.2012
Сообщений: 197
13.05.2013, 19:39  [ТС]
cпасибо большое)
0
 Аватар для RomeoSFS
0 / 0 / 2
Регистрация: 23.09.2012
Сообщений: 130
03.10.2013, 20:03
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function f = fun(x)
for i = l:length(x)
    if x(i)<=-2 
        f(i) = x(i)^2-4;
    elseif (x(i)>-2 && x(i)<=3)
        f(i) = 3/(x(i)+2);
    else
        f(i) = cos(x(i));
    end
end
plot(x,f)
end


Ошибка во второй строке, почему?
On line 2 ==> for i = l:length(x)
0
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
03.10.2013, 20:09
букву "ель" на 1 поменяй))
1
 Аватар для RomeoSFS
0 / 0 / 2
Регистрация: 23.09.2012
Сообщений: 130
03.10.2013, 20:29
Пробывал всё равно на эту строчку ругается

Добавлено через 4 минуты
всё понял просто x and f не были прописаны
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function f = fun(x)
x = 1:0.01:10;
f = 1:0.01:10;
for i=1:length(x)
    if x(i)<=-2 
        f(i) = x(i)^2-4;
    else if (x(i)>-2 && x(i)<=3)
        f(i) = 3/(x(i)+2);
    else
        f(i) = cos(x(i));
    end
end
plot(x,f)
end
0
 Аватар для RomeoSFS
0 / 0 / 2
Регистрация: 23.09.2012
Сообщений: 130
03.10.2013, 20:39
У меня вот с этой задачей вопрос, она похожа но не могу понять:"Написать файл-функцию для вычисления кусочно-заданной функции (табл. 4.3) и построить ее график." Название: Точечный рисунок.JPG
Просмотров: 651

Размер: 6.4 Кб
0
 Аватар для RomeoSFS
0 / 0 / 2
Регистрация: 23.09.2012
Сообщений: 130
03.10.2013, 21:08
всё понял просто x and f не были прописаны
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function f = fun(x)
x = 1:0.01:10;
f = 1:0.01:10;
for i=1:length(x)
    if x(i)<=-2 
        f(i) = x(i)^2-4;
    else if (x(i)>-2 && x(i)<=3)
        f(i) = 3/(x(i)+2);
    else
        f(i) = cos(x(i));
    end
end
plot(x,f)
end
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
07.10.2013, 10:30
мои хорошие, шо ж вы никак функциями пользоваться не научитесь
ты взял этот код:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
function f = fun(x)
for i = l:length(x)
    if x(i)<=-2 
        f(i) = x(i)^2-4;
    elseif (x(i)>-2 && x(i)<=3)
        f(i) = 3/(x(i)+2);
    else
        f(i) = cos(x(i));
    end
end
end
скопипастил в новый файлик fun.m, сохранил и...

!!! ЗАПУСКАТЬ ЕГО НЕ НУЖНО !!!

потому что будет вылазить ошибка, мол переменная undefined!

Так вот, ты этот файлик сохранил и забыл
Тут же создаешь новый файлик, в котором эта функция будет использована, т.е. в нее будут предаваться данные и она будет возвращать результат!:
Matlab M
1
2
3
x = 1:0.01:10;
f = fun(x); % используем функцию
plot(x,f)
*кстати, переменные в скрипте и в функции могут иметь одинаковые имена, НО они друг на друга не влияют, если только они не глобальные.

Обучалка с YouTube


**если нужно, могу попытаться сделать видео на родном языке
1
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 6
10.12.2015, 19:32
Подскажите пожалуйста, сделал по образцу, вроде ошибок не выдает, но строит не график ф-ии заданной, а ровную линию. Функцию и ошибку прикрепил.
Matlab M
1
2
3
4
5
6
7
8
function y = fun(x)
for i=1:length(x)
if x(i)<=0
    y(i)=sqrt(1+(x^2));
else x(i)>0
    y(i)=(1+x)/(((1+exp((-0.2)*x))^(1/3))+1);
end
end
Matlab M
1
2
3
x = 1:0.01:10;
y = fun(x); 
plot(x,f)
Миниатюры
Написать файл-функцию, вычисляющую значение кусочно-заданной функции   Написать файл-функцию, вычисляющую значение кусочно-заданной функции  
0
 Аватар для Krasme
7245 / 5098 / 2151
Регистрация: 02.02.2014
Сообщений: 13,459
10.12.2015, 20:14
короче, все поправочки..
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
function aaa
x = -5:0.1:5;
y = fun(x); 
plot(x,y,'.');
 
function y = fun(x)
for i=1:length(x)
if x(i)<=0
    y(i)=sqrt(1+x(i)^2);
else 
    y(i)=(1+x(i))/((1+exp(-0.2*x(i)))^(1./3)+1);
end
end
1
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 6
10.12.2015, 20:37
Спасибо большое. Ошибок как я понял много, надо читать литературу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2015, 20:37
Помогаю со студенческими работами здесь

Написать программу, вычисляющую значение заданной функции
Написать программу вычисляющую значение функции:

Написать программу, вычисляющую значение заданной функции
б) Написать программу вычисляющую значение функции:

Написать функцию , вычисляющую с заданной точноcтью eps, значение y = x^(1/k) по итерационной формуле
если можно с пояснениями. Написать функцию , вычисляющую с заданной точноcтью eps, значение y = x^(1/k) по итерационной формуле y =...

Написать программу, вычисляющую значение функции, заданной графически
(рисунок)

Написать программу, вычисляющую значение функции в заданной точке
Пожалуйста помогите написать программу вычисляющую значение функции в заданной точке в Excelе на языке Visual Basic .


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru