2015-12-12 4 views
1

Мне было интересно, как я верну выражение без его оценки.TI Nspire - Как вывести выражение без калькулятора, оценивающего его

Define LibPub exactly(r,l,c,vi,vf)= 
Func 
    :Local t 
    :Local diff 
    :If l=0 Then 
    : t:=−1*((1)/(r*c)) 
    :Else 
    : t:=−1*((1)/(((r)/(l)))) 
    :EndIf 
    :diff:=vi-vf 
    :setMode(5,3) 
    :Disp (vf+diff*e^(t)) 
    :EndFunc 

Я хочу, чтобы вернуть что-то вроде
.

Есть ли способ достичь этого? Спасибо за любую помощь!

+0

Вам придется выводить его как строку (если у вас нет ti-Nspire CAS, который должен сделать это по умолчанию). – PGmath

+0

@PGmath спасибо за ответ! У меня есть версия CAS. Я играл с ним, и он выводит то, что я хочу, но теперь он ставит константу «5» после экспоненты, а не перед ней. Должен ли я, возможно, разделять каждый результат на две отдельные переменные, одну для «5 +» и одну для «16e^(- 0.5t))», а затем попытаться вывести их? – Schwagmister

ответ

-1

Способ работы большинства калькуляторов Texas Instruments, набрав любое уравнение в любом месте, немедленно решает уравнение. Большинство других языков программирования делают то же самое (они должны). Если я правильно понимаю вас, вы хотите напечатать уравнение на экране. Если это так, все, что вам нужно сделать, это ввести уравнение в строку . Это просто напечатает уравнение на экране, не оценив его. Калькулятор будет рассматривать его как список символов, а не уравнение, поэтому он выведет уравнение, а не решение уравнения.

+0

Есть ли способ вывода строки с использованием вычисленных значений, хранящихся в переменных внутри функции? Я немного новичок в этом, и я не нашел хороших ресурсов для некоторых из этих вещей. – Schwagmister

+0

Какой калькулятор вы используете (например, TI-83, TI-84, TI-89 и т. Д.)? –

+0

TI N-Spire CX CAS – Schwagmister

0

Проблема в том, что вы выводите выражение, которое будет оцениваться. Решение состоит в том, чтобы сделать выходной сигнал комбинации строк и переменных, как это:

Disp wf,"+",diff,"*e^(",t,")" 

Это вы также можете удалить линию setMode(5,3), потому что это не нужно. Я запускал код на своем TI-nspire CX (без CAS), и он работал нормально (выход по крайней мере, я не уверен, что именно делает программа). Вот полная программа, с которой я работал, с исправлениями.

Define LibPub exactly(r,l,c,vi,vf)= 
Func 
    Local t 
    Local diff 
    If l=0 Then 
     t:=−1*((1)/(r*c)) 
    Else 
    t:=−1*((1)/(((r)/(l)))) 
    EndIf 
    diff:=vi-vf 
    Disp wf,"+",diff,"*e^(",t,")" 
    EndFunc 

Удачи вам в вашей программе.

+0

К сожалению, с функцией 'Disp' выход будет выглядеть довольно плохо. Мое предложение состояло в том, чтобы использовать 'Output (' вместо этого, это позволит вам поместить все уравнение в одну строку. –

+0

@ JFed-9 Поскольку это вопрос, связанный с C-CS-сервером Ti-nspire, нет 'Output ('function. –

+0

О, хорошо. Я не работал с этой моделью. Спасибо за исправление @Scott –

 Смежные вопросы

  • Нет связанных вопросов^_^