জিএনইউ অক্টেভ একটি ওপেন সোর্স এবং কমান্ড-লাইন সফ্টওয়্যার প্রকল্প যা একটি শক্তিশালী, সহজে ব্যবহারযোগ্য এবং এক্সটেনসিবল উচ্চ-স্তরের ভাষা প্রদান করে যা একটি সংখ্যাসূচক গণনা পরিচালনার জন্য ব্যবহার করা যেতে পারে। ।
সংখ্যাসূচকভাবে রৈখিক এবং অরৈখিক সমস্যা সমাধানের জন্য ব্যবহার করা যেতে পারে
সফ্টওয়্যার সংখ্যাসূচকভাবে রৈখিক এবং অরৈখিক সমস্যা উভয় সমাধান করতে ব্যবহার করা যেতে পারে, পাশাপাশি বিভিন্ন সংখ্যাসূচক পরীক্ষাগুলি সঞ্চালন করতে পারে। এটি ম্যাটল্যাবের সাথে সামঞ্জস্যপূর্ণ, একটি মাল্টি প্যাডিজম সংখ্যাসূচক কম্পিউটিং পরিবেশ, এবং ব্যাচ-ভিত্তিক ভাষা হিসাবে ব্যবহার করা যেতে পারে।
এ ছাড়াও, জিএনইউ অক্টেভ বিভিন্ন ইউটিলিটি অফার করে যা আপনাকে সাধারণ সংখ্যাসূচক লিন্নার বীজগড়ের সমস্যা সমাধান করতে, পলিওনিমিয়ালকে সংহত করতে সাহায্য করে, সাধারণ ফাংশনকে সংহত করে, অরৈখিক সমীকরণগুলির শিকড়গুলি আবিষ্কার করে এবং সাধারণ পার্থক্য-বিজোড় এবং ডিফারাল সমীকরণকে একত্রিত করতে দেয়। < ; / p &>
আপনি GNU Octave প্রসারিত করতে গতিশীলভাবে লোড মডিউল বা ব্যবহারকারী-সংজ্ঞায়িত ফাংশন ব্যবহার করতে পারেন। এইগুলি অক্টেভের নিজস্ব প্রোগ্রামিং ভাষা বা সি, সি ++, ফোরট্রান ইত্যাদিতে লেখা যেতে পারে।
GNU Octave দিয়ে শুরু করা
একটি GNU / Linux অপারেটিং সিস্টেমে GNU Octave ইনস্টল করার জন্য দুটি পদ্ধতি উপলব্ধ। প্রথমটি হল সবচেয়ে সহজতম এবং & ldquo; অক্টোব & rdquo; প্যাকেজটি আপনার বিতরণের সফ্টওয়্যার সেন্টার অ্যাপ (উদাঃ সিনাপার্টিক প্যাকেজ ম্যানেজার)।
দ্বিতীয় পদ্ধতিটি আপনাকে পণ্যটির সর্বশেষ সংস্করণটি ইনস্টল করতে সাহায্য করবে, কিন্তু এটি একটি টার্মিনাল এমুলেটর কমান্ড চালনা করে। যদি আপনি এটির নিচে পড়ে থাকেন তবে সফটওয়ায়ার থেকে সর্বশেষ প্রকল্প প্যাকেজটি ডাউনলোড করুন অথবা প্রকল্পটির আনুষ্ঠানিক হোমপৃষ্ঠা থেকে (নিবন্ধের শেষে লিঙ্কটি দেখুন), আপনার পিসি এ সংরক্ষণ করুন এবং এটি আনপ্যাক করুন।
একটি টার্মিনাল এমুলেটর অ্যাপ্লিকেশন খুলুন, & lsquo; cd & rsquo চালান; কমান্ডটি দ্বারা আর্কাইভ আর্কাইভ ফাইলের অবস্থানের পথ অনুসরণ করে (যেমন সিডি / হোম / সাফওরওয়ায়ার / অক্যাভেজ -3.8.2), & lsquo;। / কনফিগার করুন & amp; amp; করতে সেটির প্রোগ্রাম কনফিগার এবং কম্পাইল করার জন্য কমান্ড, এবং তারপর & lsquo; sudo চালান & rsquo; কমান্ডটি ইনস্টল করতে। কমান্ড-লাইন ইন্টারফেস থেকে এটি & lsquo; অষ্টাভ & rsquo চালানোর মাধ্যমে এটি ব্যবহার করুন; কমান্ড।
হুডের নীচে
GNU Octave প্রোগ্রামের ফণা অধীন একটি কটাক্ষপাত করা, আমরা এটি সম্পূর্ণরূপে C ++ প্রোগ্রামিং ভাষা লিখিত আছে লক্ষ্য করা যায়। আমরা উপরের অংশে দেওয়া নির্দেশ ব্যবহার করে আর্কিটেকচার লিনাক্স এবং উবুন্টু সহ GNU / Linux এর বিভিন্ন ডিস্ট্রিবিউশনগুলিতে এটি ইনস্টল করেছি। সফ্টওয়্যারটি 32-বিট এবং 64-বিট কম্পিউটার প্ল্যাটফর্মগুলির সাথে সামঞ্জস্যপূর্ণ।
নতুন কী রয়েছে এই রিলিজে:
- এক Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্যগুলির একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কি আছে সংস্করণে:
- Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কি আছে সংস্করণ 4.2.0:
Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কি আছে 4.0.3 সংস্করণে:
যে
Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কী আছে 4.0.1 সংস্করণে:
Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কি আছে 4.0.0 সংস্করণে:
যে
Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কী রয়েছে সংস্করণ 3.8.2:
Octave 3.8.x রিলিজ সিরিজের জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
নতুন কি রয়েছে সংস্করণ 3.8.0:
যে
Octave 3.8 এর জন্য সবচেয়ে বড় নতুন বৈশিষ্ট্য হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস। এটি এক জিনিস যা ব্যবহারকারীরা গত কয়েক বছরে প্রায়শই অনুরোধ করেছেন এবং এখন এটি প্রায় প্রস্তুত। কিন্তু যেহেতু আমরা যতটা পছন্দ করি না ততটুকু পালিশ করা হয়েছে, আমরা GUI ডিফল্ট ইন্টারফেস করার পূর্বে 4.0.x রিলিজ সিরিজ পর্যন্ত অপেক্ষা করার সিদ্ধান্ত নিয়েছি (তখন পর্যন্ত, আপনি GUI শুরু করার জন্য -force-gui বিকল্পটি ব্যবহার করতে পারেন )। করুন
গত বৃহৎ রিলিজ অক্টেভ থেকে সময় এবং সংখ্যা বাগ সংশোধন ও উন্নতির সংখ্যা দেওয়া হয়েছে, আমরা এই সমস্ত নতুন উন্নতিগুলির মধ্যে শুধু জিইআইআই নিখুঁত করার জন্য দেরি করার সিদ্ধান্ত নিয়েছি। তাই Octave এর 3.8 রিলিজ এবং নতুন GUI এর পূর্বরূপ উপভোগ করুন। আমরা বিশ্বাস করি এটি কার্যকরীভাবে ভাল কাজ করছে, কিন্তু আমরা জানি যে কিছু সুস্পষ্ট রুক্ষ স্পট এবং অনেকগুলি জিনিস যা উন্নত হতে পারে।
নতুন কি আছে সংস্করণ 3.4.0:
বিট এবং ল্যাপক লাইব্রেরিগুলি এখন অক্স্যাএল নির্মাণের প্রয়োজন। রেফারেন্স বিলেস এবং LAPACK লাইব্রেরির উপসেটটি অক্ট্যাভ উত্স থেকে সরানো হয়েছে।
'লকুপ' ফাংশনটি সাধারণ উদ্দেশ্যসংক্রান্ত বাইনারি অনুসন্ধানের জন্য আরো উপযোগী হতে বাড়ানো হয়েছে। এই উন্নতি ব্যবহার করে, উল্লেখযোগ্যভাবে ভাল পারফরম্যান্সের জন্য ismember ফাংশনটি পুনর্বিবেচনা করা হয়েছে।
সঠিক, পূর্ণসংখ্যা এবং লজিক্যাল ম্যাট্রিক্স, যখন ইন্ডেক্সিংয়ের সময় ব্যবহার করা হয় তখন এখনই ইন্ডেক্স ইনডেক্সাইটের মান (শূন্য ভিত্তিক ইন্ডেক্স) ক্যাশ করবে যখন সফলভাবে ইন্ডেক্স হিসাবে ব্যবহৃত হবে, একই ম্যাট্রিক্স দ্বারা পরবর্তী ইন্ডেক্সিংয়ের রূপান্তর জরিমানা নির্মূল করা। বিশেষ করে, এর মানে হলো কার্যনির্বাহকের কার্যাবলী খোঁজার মাধ্যমে লজিক্যাল অ্যারে দ্বারা পুনরাবৃত্তি সূচকে এড়ানোর প্রয়োজন নেই।
লজিক্যাল ম্যাট্রিক্সগুলি এখন নির্দেশিত হিসাবে ব্যবহৃত হয় যখন আরো দক্ষতার সাথে চিকিত্সা করা হয়। একটি বিশেষ কোড ব্যবহার করে, যদি সত্য উপাদান অনুপাত যথেষ্ট ছোট হয়, তাহলে Octave একটি লজিক্যাল মাস্ক হিসাবে সূচক রাখতে হবে। পূর্বে, সমস্ত লজিক্যাল ম্যাট্রিক্স সর্বদা সূচক ভেক্টরগুলিতে প্রথম রূপান্তরিত হয়। এই মেমরি এবং কম্পিউটিং উভয় সময়ে সঞ্চয় ফলাফল। উন্নত পারফরম্যান্সের জন্য কম্পাইল করা ফাংশন হিসাবে `সাব-বিইন 'এবং' ind2sub 'ফাংশনগুলির পুনর্বিন্যস্ত করা হয়েছে। এই ফাংশনটি এখন দ্রুততর, রেঞ্জের জন্য আরো লাভজনক ফলাফল সরবরাহ করতে পারে, এবং আগের অনুচ্ছেদের বর্ণিত সূচক ক্যাশে প্রক্রিয়া পুনরায় ব্যবহার করতে পারে।
যৌথ অপারেটরদের বিল্ট-ইন ফাংশন সমতুল্য ('প্লাস', 'বার', 'মাইটেমস', 'এবং', এবং `বা ') একাধিক আর্গুমেন্ট গ্রহণের জন্য প্রসারিত করা হয়েছে। বস্তুর তালিকা (গুণগতভাবে স্বতন্ত্র প্রকারগুলি) নির্ণয়ের জন্য এটি বিশেষভাবে উপযোগী (সংখ্যাগতভাবে):
matrix_sum = plus (matrix_list {:});
libcurl- এর উপর ভিত্তি করে একটি FTP অবজেক্ট প্রযোজ্য হয়েছে। এই বস্তুগুলিকে পরিচালিত হওয়ার জন্য FTP সংযোগ, ডাউনলোড এবং আপলোডগুলি মঞ্জুরি দেয়। উদাহরণস্বরূপ,
fp = ftp ("ftp.octave.org"); cd (fp, "gnu / octave"); mget (fp, "octave-3.2.3.tar.bz2"); বন্ধ (fp); লি>
'শক্তির (পর্যবেক্ষণ, প্রত্যাশিত)' এর ডিফল্ট আচরণটি কম কঠোর পরীক্ষা নিরীক্ষায় নিরুৎসাহিত করা হয়েছে যা মানগুলির অভ্যন্তরীণগুলির সাথে মেলে না। ভবিষ্যতে অক্টেভ সংস্করণগুলির মধ্যে চালু নতুন অভ্যন্তরীণ ক্লাসগুলির কারণে এটি আগের বৈধ পরীক্ষাগুলি থেকে বিরত থাকে।
উদাহরণস্বরূপ, এই সমস্ত অঙ্গীকারগুলি Octave 3.0.x এ সত্য ছিল কিন্তু নতুন অপ্টিমাইজেশান এবং উন্নতির কারণে 3.2.x এ ভুল ছিল: দাবি করে (2 * linspace (1, 5, 5), 2 * (1: 5)) জোর করে (শূন্য (0, 0), []) বলপূর্বক (2 * সংখ্যা (1, 5), (2) (বেশী (1,5)))
ভাল সামঞ্জস্যের জন্য লাইব্রেরির ফাংশন 'ismatrix', 'issquare' এবং 'issymmetric' এর পরিবর্তন করা হয়েছে। `এসম্যাট্রিক্স 'ফাংশনটি এখন সমস্ত সংখ্যাসূচক, লজিকাল এবং চরিত্র 2-ডি বা এন-ডি ম্যাট্রিক্সের জন্য সত্য প্রদান করে। পূর্বে, 'ismatrix' মিথ্যা ফেরত পায় যদি প্রথম বা দ্বিতীয়টি মাত্রা শূন্য হয়। অতএব, `ismatrix ([]) 'মিথ্যা ছিল, যখন` ismatrix (zeros (1,2,0))' সত্য।
'ইস্যুকের' ফাংশনটি এখন একটি লজিকাল স্ক্যালার প্রদান করে এবং এটি এক্সচেঞ্জের সমতুল্য
আইম্যাটিক্স (এক্স) & amp; amp; ndims (x) == 2 & amp; amp; সারি (x) == কলাম (x)
মাত্রা আর ফিরিয়ে নেই। ফলস্বরূপ, 'ইস্যুকারে ([])' এখন সত্য সত্য হয় `আমদানীমূলক 'ফাংশন এখন হরমিটিয়ানেশনের পরিবর্তে সজীবতার জন্য পরীক্ষা করে। পরের জন্য, ishermitian তৈরি করা হয়েছিল। এছাড়াও, লজিকাল scalar মাত্রা থেকে পরিবর্তে ফিরে আসে, তাই 'issymmetric ([])' এখন সত্য। ফাংশন হ্যান্ডেলগুলি এখন ওভারলোডেড ফাংশন সম্পর্কে সচেতন। যদি একটি ফাংশন ওভারলোড হয়, তবে হ্যান্ডেলটি তার রেফারেন্সের সময় নির্ধারণ করে যা কল করতে কার্যকরী। একটি অ ভারাক্রান্ত সংস্করণ অস্তিত্ব প্রয়োজন নেই। অন্তর্নির্মিত ক্লাসগুলির জন্য ফরোয়ার্ড ফাংশন (ডাবল, ইন্টি 8, সেল ইত্যাদি) এখন Matlab এর সাথে সামঞ্জস্যপূর্ণ।
ফাংশন হ্যান্ডেলগুলি এখন == এবং! = অপারেটরদের সাথে তুলনা করা যায়, সেইসাথে `অসম 'ফাংশন।
কনক্যাটেনেশন ([[ব্যবহার করে]] এবং কার্যবিবরণী 'বিড়াল', `হরকাকট ', এবং` ভেরেক্ট' এর কার্যকারিতা বহুমাত্রিক অ্যারেগুলির জন্য উন্নত করা হয়েছে।
অপারেশন-অ্যাসাইনমেন্ট অপারেটর + =, - =, * = এবং / = এখন কিছু ক্ষেত্রে আরো দক্ষতার সাথে আচরণ করা। উদাহরণস্বরূপ, যদি M একটি ম্যাট্রিক্স এবং S একটি scalar, তারপর বিবৃতি
এম + = এস;
এম-এর ডেটা-এ সঞ্চালিত হবে যদি এটি অন্য ভ্যারিয়েবলের দ্বারা ভাগ না করা হয়, সাধারণত উভয় সময় এবং মেমরি দক্ষতা বাড়ানো হয়। শুধুমাত্র নির্বাচিত সাধারণ সমন্বয় প্রভাবিত হয়, যথা: ম্যাট্রিক্স + = ম্যাট্রিক্স ম্যাট্রিক্স - = ম্যাট্রিক্স ম্যাট্রিক্স। * = ম্যাট্রিক্স ম্যাট্রিক্স ./= ম্যাট্রিক্স
ম্যাট্রিক্স + = স্কলার ম্যাট্রিক্স - = স্কলার ম্যাট্রিক্স * = স্কলার ম্যাট্রিক্স / = স্কলার
লজিক্যাল ম্যাট্রিক্স | = লজিক্যাল ম্যাট্রিক্স লজিক্যাল ম্যাট্রিক্স & amp; = লজিক্যাল ম্যাট্রিক্স
যেখানে ম্যাট্রিক্স এবং স্ক্যালার একই ক্লাসের অন্তর্গত। বাম দিকে একটি সহজ পরিবর্তনশীল রেফারেন্স হওয়া আবশ্যক।
তাছাড়া, যখন অপ্রয়োজনীয় অপারেটরগুলি এক্সপ্রেশনগুলিতে উপস্থিত হয়, তখন অক্টেভ অপারেশন ইন-হাউস করতেও চেষ্টা করবে যদি এটির আর্গুমেন্ট একটি অস্থায়ী প্রকাশ। জটিল অপারেটরগুলির (, =) প্রয়োগের প্রভাবটি 'সর্বোচ্চ', 'মিনিট', এবং 'সাজানো' ফাংশন দ্বারা নির্ধারিত কঠোর ক্রম অনুসারে সামঞ্জস্যপূর্ণ হতে চলেছে। আরো স্পষ্টভাবে, জটিল সংখ্যার তুলনা করা হয় জোড়ের সংখ্যার সাথে তুলনা করা হয় [এবি (জ), আর্গ (z)] '। পূর্বে, শুধুমাত্র বাস্তব অংশ তুলনা করা হয়েছিল; এই বাস্তব () মধ্যে operands মোড়কে দ্বারা trivially অর্জিত হতে পারে।
জটিল গণনা ফলাফলের স্বয়ংক্রিয় সরলতা পরিবর্তিত হয়েছে। অক্টেভ এখন একটি শূন্য কল্পিত অংশ বা একটি বাস্তব মান শূন্য কল্পনাপ্রসূত অংশ সব উপাদান সঙ্গে কোনো জটিল ম্যাট্রিক্স সঙ্গে কোনো জটিল সংখ্যা সহজ হবে। পূর্বে, এটি শুধুমাত্র ইতিবাচক জিরো জন্য করা হয়েছিল। উল্লেখ্য, জটিল ফাংশনের আচরণ অপরিবর্তিত এবং কাল্পনিক অংশটি শূন্য হলেও তা একটি জটিল মান তৈরি করে।
liboctave কোড রিফ্যাক্টরিং এর পার্শ্বপ্রতিক্রিয়া হিসাবে, বাইনারি লজিকাল অপারেশনগুলি এখন কম্পাইলার অপ্টিমাইজেশানগুলির জন্য সহজেই গ্রহণযোগ্য এবং এর ফলে উল্লেখযোগ্যভাবে দ্রুততর।
অক্টেভ এখন ব্যবহারকারী-সংজ্ঞায়িত 'subsasgn' পদ্ধতিগুলিকে অপ্রয়োজনীয় অনুলিপিগুলি অপটিমাইজ করার অনুমতি দেয়। আরও তথ্যের জন্য, ম্যানুয়ালটি দেখুন।
আরো কার্যকর ম্যাট্রিক্স বিভাগ হ্যান্ডলিং। অক্টেভ এখন এক্সপ্রেশন এম 'ভি এম' হ্যান্ডেল করতে সক্ষম। ভি ভি / এম (M একটি ম্যাট্রিক্স এবং V হল একটি ভেক্টর) নির্দিষ্ট ক্ষেত্রে আরো কার্যকরীভাবে। বিশেষত, যদি এম ত্রিপক্ষীয় হয়, তবে তিনটি এক্সপ্রেশনগুলি একক কল দ্বারা xTRTRS (LAPACK থেকে) যথোপযুক্ত পতাকা সহ পরিচালিত হবে। আগে, সব তিনটি এক্সপ্রেশন এম এর একটি শারীরিক স্থানান্তর প্রয়োজন
নির্দিষ্ট মিশ্র রিয়েল-জটিল ম্যাট্রিক্স অপারেশনগুলির আরও কার্যকরী হ্যান্ডলিং। উদাহরণস্বরূপ, যদি RM একটি বাস্তব ম্যাট্রিক্স এবং CM একটি জটিল ম্যাট্রিক্স, RM CM
এখন এর মত মূল্যায়ন করা যেতে পারে
জটিল (আরএম বাস্তব (সিএম), আরএম ইমেজ (সিএম))
বা হিসাবে
জটিল (আরএম) সিএম,
মাত্রা উপর নির্ভর করে। প্রথম ফর্মটি আরো সাময়িক এবং অনুলিপি করার প্রয়োজন হয়, কিন্তু FLOP গণনাকে অর্ধেক করে, যা সাধারণত RM- এর পর্যাপ্ত সারিগুলির সাথে ভাল কার্য সম্পাদন করে। পূর্বে, দ্বিতীয় রূপটি সর্বদা ব্যবহৃত হয়েছিল।
ম্যাট্রিক্স বিভাগটি একইভাবে প্রভাবিত হয়।
ত্রিকোণীয় ম্যাট্রিক্স কার্যাবলীর আরও কার্যকরী হ্যান্ডলিং ফ্যাক্টাইটিজেশন থেকে ফিরিয়েছে। QR, LU এবং Cholesky factorizations কম্পিউটিং এর কাজগুলি স্বয়ংক্রিয়ভাবে সঠিক অভ্যন্তরীণ ম্যাট্রিক্স টাইপ সেট দ্বারা ত্রিকোণীয় ম্যাট্রিক্স উপাদানগুলি ফিরিয়ে দেবে, যাতে ম্যাট্রিক্সটি বিভাগের জন্য ব্যবহার করা হয় যখন এটি গণনা করা প্রয়োজন হবে না। বিল্ট ইন 'যোগফল' ফাংশন এখন অবাঙালি সমন্বয় পরিচালনা করে (যেমন, একক বা পূর্ণসংখ্যা ইনপুটগুলির দ্বিগুণ সুনির্দিষ্ট সংখ্যার) আরও কার্যকরীভাবে, ডাবলটির পুরো ইনপুট অ্যারের একটি অস্থায়ী রূপান্তর এড়ানো। উপরন্তু, 'সমষ্টি' এখন একটি অতিরিক্ত বিকল্প যুক্তি গ্রহণ করতে পারে, একটি সীমাবদ্ধ সীমা পরিবর্তে ক্ষতিপূরণ সংখ্যার অ্যালগরিদম ব্যবহার করে, যা সুনির্দিষ্টভাবে সংশোধন করে যদি সংক্ষেপে অনেকগুলি বাতিল হয়ে যায়।
বিল্ট-ইন 'বিএসএক্সফুন' ফাংশন এখন নির্দিষ্ট কিছু ক্ষেত্রে অপ্টিমাইজড কোড ব্যবহার করে যেখানে বিল্ট-ইন অপারেটর হ্যান্ডলগুলি পাস হয়। অর্থাৎ, অপারেটরগুলি 'প্লাস', 'বিয়োগ', 'বার', 'লডাইভাইড' , 'rdivide', `power ',` এবং', `বা '(লজিক্যাল অ্যারে জন্য), রিলেশনাল অপারেটর` eq', `ne ',` lt', `le ',` gt', 'ge', এবং ফাংশন 'মিনিট' এবং 'সর্বোচ্চ' অপ্টিমাইজেশান শুধুমাত্র তখনই প্রযোজ্য যখন উভয় অপারেন্ড একই বিল্ট-ইন ক্লাসের। মিশ্র বাস্তব / জটিল এবং একক / দ্বৈত অপারেশনগুলি উভয় অপারেন্ডগুলিকে একটি সাধারণ প্রকার রূপান্তর করবে। 'strfind' এবং `strrep 'ফাংশনগুলি এখন প্রয়োগগুলি সংকলন করেছে, উল্লেখযোগ্যভাবে আরও দক্ষ অনুসন্ধান এবং স্ট্রিংগুলির মধ্যে প্রতিস্থাপনের বিশেষ করে দীর্ঘতর নিদর্শনগুলির সাথে। `Strcat 'কোডটি ভেক্টরযুক্ত করা হয়েছে এবং এখন অনেক বেশি কার্যকরী যখন অনেকগুলি স্ট্রিং একত্রিত করা হয়। `Strcmpi 'এবং` strncmpi' ফাংশনগুলি এখন বিল্ট-ইন ফাংশন, ভাল পারফরম্যান্স প্রদান করে।
টিল্ড (~) ব্যবহার করে ইনপুট এবং আউটপুট ফাংশন আর্গুমেন্ট উপেক্ষা করে Matlab-style এখন সমর্থিত। অজানা আউটপুট আর্গুমেন্ট বিল্ট ইন ফাংশন `isargout 'ব্যবহার করে একটি ফাংশন থেকে সনাক্ত করা যেতে পারে। আরো তথ্যের জন্য, ম্যানুয়াল পরামর্শ।
তালিকাটি ড্যাটাটিপ, যেগুলি কোষের প্রবর্তন থেকে নিমজ্জিত, মুছে ফেলা হয়েছে।
অ্যাকুইমারার ফাংশনটি অপটিমাইজ করা হয়েছে এবং বর্তমানে কিছু গুরুত্বপূর্ণ ক্ষেত্রে দ্রুত উল্লেখযোগ্য।
আক্ষরিক এবং সংখ্যাসূচক ফাংশনগুলির আচরণ আরো ম্যাটলব-সামঞ্জস্যপূর্ণ হতে পরিবর্তিত হয়েছে।
পূর্ণসংখ্যা গণিত & amp; রূপান্তর সতর্কবার্তা (অক্টেভ: এনট-কনভার্ট-ন্যান, অক্টেভ: এনট-কনভার্ট-অ-ইনট-ভ্যাল, অক্টেভ: ইনটেন-কনভার্ট-ওভারফ্লো, অক্টেভ: ইনট-ম্যাথ-ওভারফ্লো) মুছে ফেলা হয়েছে।
rem এবং mod এখন বিল্ট-ইন ফাংশনগুলি। তারা পূর্ণসংখ্যা সংখ্যাগুলি ইন্টিজারের গাণিতিক ব্যবহার করে দক্ষতার সাথে পরিচালনা করে। স্পর্শ ইন্ডেক্সিং এবং ইনডেক্সেড অ্যাসাইনমেন্টটি বেশিরভাগই পুনরায় লিখিত হয়েছে। যেহেতু অষ্ট্যাচ স্পর্শ ম্যাট্রিক্সের জন্য সংকুচিত কলামের স্টোরেজ ব্যবহার করে, তাই প্রধান মনোযোগ সম্পূর্ণ কলামগুলি কাজে লাগানোর জন্য পরিচালিত হয়। এই ধরনের অপারেশন এখন উল্লেখযোগ্যভাবে দ্রুতগতিতে রয়েছে, পাশাপাশি অন্য কিছু গুরুত্বপূর্ণ ক্ষেত্রে।
অধিকতর, স্পার্স ম্যাট্রিক্সকে প্রাক-বরাদ্দকরণ করা সম্ভব এবং পরবর্তীতে এটি নিয়োগগুলি দ্বারা পূরণ করা সম্ভব, যদি তারা নির্দিষ্ট শর্ত পূরণ করে। আরও তথ্যের জন্য, 'স্পলক' ফাংশনটি দেখুন, যা আর একটি নিছক ডামি নয়। ফলস্বরূপ, nzmax এবং nnz আরকোভের মধ্যে সর্বদা সমান নয়। অক্টেভ nnz সঙ্গে একটি ম্যাট্রিক্স উত্পাদন করতে পারে & lt; অন্য অপারেশনগুলির ফলে nzmax, তাই আপনি njz ব্যবহার করতে চান না যদি আপনি nzmax (যেমন nonzero উপাদানগুলির জন্য বরাদ্দ স্থান) ব্যবহার করতে চান।
স্পর্শ সংকোচন এছাড়াও প্রভাবিত হয়, এবং স্পর্শ ম্যাট্রিক্স, বিশেষ করে বড় সংগ্রহগুলি concatenating, এখন উল্লেখযোগ্যভাবে আরো দক্ষ এটি [] অপারেটর এবং বিড়াল / ভিক্টেট / হর্কেট ফাংশন উভয়ই প্রযোজ্য। বর্তমানে xGESDD LAPACK ড্রাইভারগুলি ডিফল্ট xGESVD- র পরিবর্তে svd () ব্যবহার করে একবচন মান বিভাজন করার জন্য, কনফিগারেশন ছদ্ম-পরিবর্তনশীল svd_driver ব্যবহার করে বর্তমানে সম্ভাব্য করা সম্ভব। একাধিক ভেক্টরকে অনুরোধ করা হলে xGESDD ড্রাইভার 6x গুণ পর্যন্ত দ্রুততর হতে পারে, তবে এটি অত্যন্ত অসুস্থ অবস্থায় ম্যাট্রিক্সে কিছুটা কম শক্তিশালী।
পৃষ্ঠা-স্ক্রীন-আউটপুট বা confirm_recursive_rmdir (অথবা উপরে উল্লিখিত svd_driver) হিসাবে ছদ্ম-ভেরিয়েবল কনফিগার করুন, এখন দ্বিতীয় আর্গুমেন্ট হিসাবে "স্থানীয়" বিকল্পটি গ্রহণ করুন, বর্তমান ফাংশনটি ফেরত পাঠানোর জন্য অনুরোধ করার অনুরোধ করুন: ফাংশন [অবস্থা, বার্তা] = rm_rf (dir) confirm_recursive_rmdir (মিথ্যা, "স্থানীয়"); [অবস্থা, msg] = rmdir (dir, "s"); ... ফাংশন রিটার্নে, confirm_recursive_rmdir ফাংশনের এন্ট্রিটিতে থাকা মানটিতে পুনরুদ্ধার করা হবে, এমনকি ফাংশন rm_rf বা তার যেকোনো ফাংশনকে কল করাতে পরিবর্তনশীল পরবর্তী পরিবর্তন হয়েছে। pkg এখন অক্টোপ ফেজ থেকে প্যাকেজগুলি ডাউনলোড ও ইনস্টল করার জন্য স্বয়ংক্রিয়ভাবে একটি গ্রহণযোগ্য বিকল্প গ্রহণ করে। উদাহরণস্বরূপ, pkg install -forge সাধারণ স্বয়ংক্রিয়ভাবে সাধারণ প্যাকেজের সর্বশেষ রিলিজটি ডাউনলোড করবে এবং এটি ইনস্টল করার চেষ্টা করবে। নির্ভরযোগ্যতার কোন স্বয়ংক্রিয় সমাধান করা হয় না। উপরন্তু, করুন
pkg list -forge সমস্ত উপলব্ধ প্যাকেজগুলি তালিকাভুক্ত করতে ব্যবহার করা যেতে পারে।
** কিছু অপ্টিমাইজেশন সম্ভবপর করার জন্য স্ট্রাক্টের অভ্যন্তরীণ ডেটা সম্পূর্ণরূপে পুনর্বিন্যস্ত করা হয়েছে। ক্ষেত্রের তথ্য এখন সমান কীগুলির সাথে স্ট্রাক্টগুলির মধ্যে ভাগ করা যায় কিন্তু বিভিন্ন মাত্রা বা মানগুলি, ক্ষেত্রগুলি দ্রুততর সংরক্ষণ করে এমন অপারেশনগুলি তৈরি করে অর্থনীতির স্টোরেজ এখন স্ক্যালার স্ট্রাক্টগুলির জন্য ব্যবহার করা হয় (ঠিক যেমন অন্য স্ক্যালারের মতো), তাদের ব্যবহার আরও মেমরি-দক্ষ। কয়েকটি অ্যারে-মতো স্ট্রাক্টগুলিতে অপারেশন (কনক্যাটেনেশন, ইউনিফর্ম সেলফুন, ন্যাম ২সেল) একটি উল্লেখযোগ্য গতিপথ অর্জন করেছে। উপরন্তু, অক্টেভ_সাল্লার_ম্যাপ শ্রেণী এখন C ++ DLD ফাংশনে স্ক্যালার স্ট্রাক্টগুলির সাথে কাজ করার জন্য একটি সহজ ইন্টারফেস প্রদান করে।
** দুটি নতুন ফরম্যাট সংখ্যা প্রদর্শন করার জন্য উপলব্ধ:
সংক্ষিপ্ত ইঙ্গিত বিন্যাসে দীর্ঘ এনজিও বিন্যাস
প্রকৌশল অনুচ্ছেদে উভয় প্রদর্শন সংখ্যা, যেমন, মিনতাশা + এক্সপোনেন্ট যেখানে এক্সপোনেন্ট 3 এর একাধিক। ** নিম্নোক্ত ফাংশনটি অক্টেভ 3.4 এ নতুন:
accumdim erfcx nfields pqpnonneg uigetdir bitpack fileread nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl pbaspect পুনরাবৃত্তি uimenu cbrt ifelse pie3 রিসেট whitebg কার্ল ishermitian powerset rsf2csf চোপান আইডেনক্স পিপিয়ার সংরক্ষণগুলি daspect luupdate পিপিটিফ স্ট্রেড ডাইভারজেন্স একত্রীকরণ প্লাগইন টেক্সট পাঠ
** প্রদর্শন, xv, এবং xloadimage মত বহিরাগত প্রোগ্রামের সঙ্গে ছবি দেখতে ইমেজ ফাংশন ব্যবহার আর সমর্থিত নয়। Image_viewer ফাংশনও সরানো হয়েছে।
** অ-স্ট্রাক্ট ভেরিয়েবলের কাঠামোগত আচরণের আচরণ পরিবর্তন করা হয়েছে। পূর্বে, একটি মানবাধিকারের উপর নির্ভর করা সম্ভব ছিল: a = 1; a.x = 2;
এটি আর সম্ভব নয় যতক্ষন না একটি খালি ম্যাট্রিক্স বা সেল অ্যারে।
** খালি ক্ষেত্রের জন্য একটি কাস্টম মান নির্দিষ্ট করার জন্য dlmread ফাংশনটি প্রসারিত করা হয়েছে।
** ফাইলের নামগুলি ছাড়াও ফাইল আইডি (ফোপেন দ্বারা ফেরত হিসাবে) গ্রহণ করতে dlmread এবং dlmwrite ফাংশনগুলি সংশোধন করা হয়েছে। ** অক্টেভ এখন একটি বেনামী ফাংশন হ্যান্ডেলের দোভাষী ওভারহেডকে অপ্টিমাইজ করতে পারে, যদি ফাংশনটি অন্য ফাংশনকে কল করে বা নির্দিষ্ট কিছু মানদণ্ডে আবদ্ধ কিছু পরামিতিগুলির সাথে পরিচালনা করে। উদাহরণ: f = @ (x) সমষ্টি (x, 1);
যখন ফিকে বলা হয়, তখন কলটি ফাঁস করা হয় ফাঁসিতে ফাঁসির সাথে 1 সংযোজনে, এবং কল স্ট্যাকে বেনামী ফাংশন কল হয় না।
অপহৃত ফাংশন।
নীচের ফাংশনগুলি অক্টেভ 3.2 এ বাদ দেওয়া হয়েছে এবং এটি অক্টোবর 3.6 থেকে মুছে ফেলা হবে (বা যাই হোক না কেন সংস্করণ 3.2 পর দ্বিতীয় প্রধান রিলিজ হয়):
create_set spcholinv splu dmult spcumprod spmax iscommand spcumsum spmin israwcommand spdet spprod lchol spdiag spqr লোডমাইজ স্পাফিন্ড spsum mark_as_command sphmat spsumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv splat unmark_rawcommand
নিম্নোক্ত ফাংশনগুলি অক্ট্যাচ 3.4 এ বাদ দেওয়া হয়েছে এবং অক্টেভ 3.8 (অথবা যেকোন সংস্করণটি 3.4 এর পরে দ্বিতীয় প্রধান রিলিজ হয়) থেকে সরানো হবে:
অটোকোর সেলিডক্স গ্যামাই ক্রাইলোভব মানগুলি অটোকভ ডিসপ্যাচ গ্ল্পকমেক্স রিপ্লোট বেটা ফস্ট্যাট হল_সম্প্রতি সংরক্ষণ করুন
Matlab সঙ্গে সামঞ্জস্যের জন্য, mu2lin (এক্স) এখন mu2lin (এক্স, 0) এর সমতুল্য। আর্কপেব লাইব্রেরিটি এখন অক্ট্যাকে দিয়ে বিতরণ করা হয়েছে যাতে অষ্ট্যাচ নির্মাণের সময় বহিরাগত নির্ভরতা হিসেবে আর উপলব্ধ না হয়।
নতুন কি আছে 3.2.3 সংস্করণে:
Octave 3.2.3 হল একটি বাগ ফিক্সিং রিলিজ
নতুন কি আছে 3.0.4 সংস্করণে:
Octave 3.0.4 হল একটি বাগ-ফিক্সিং রিলিজ। সংস্করণ 3.0.3 রিলিজ হওয়ার পর থেকে বেশিরভাগ বাগ রিপোর্ট করা হয়েছে। অনুগ্রহ করে লক্ষ্য করুন যে Octave 3.0টি Octave 2.1.x থেকে বেশিরভাগ আলাদা আলাদা, বিশেষ করে গ্রাফিক্স, পাথ হ্যান্ডলিং এবং বিল্ট-ইন ভেরিয়েবলগুলির সাথে।
পাওয়া মন্তব্যসমূহ না